FAQ
Hi all
i have controller Myapp::Controller::Offers with "use parent
'Catalyst::Controller::REST'" where all RESTed requests works fine, but
then i have Myapp::Controller::Offers::Create where i dont want
C::C::REST to work, because when i send common form with content type
'application/x-www-form-urlencoded' to /offers/create/done i recieve 415
"Content-Type text/html is not supported". The "done" method is:
sub done: Local: ActionClass('RenderView')
I dont want this controller to be RESTish or atleast how i can enable
text/html content types here?

Search Discussions

  • Alejandro Imass at Jun 29, 2009 at 8:49 pm
    You can override the default serializers:

    __PACKAGE__->config(
    'default' => 'application/json',
    'stash_key' => 'rest',
    'map' => {
    'text/html' => [ 'View', 'TT', ],
    'text/xml' => [ 'View', 'TT', ],
    },
    );


    On Tue, Jun 30, 2009 at 4:07 PM, Angel Kolevwrote:
    -----BEGIN PGP SIGNED MESSAGE-----
    Hash: SHA1

    Hi all
    i have controller Myapp::Controller::Offers with "use parent
    'Catalyst::Controller::REST'" where all RESTed requests works fine, but
    then i have Myapp::Controller::Offers::Create where i dont want
    C::C::REST to work, because when i send common form with content type
    'application/x-www-form-urlencoded' to /offers/create/done i recieve 415
    "Content-Type text/html is not supported". The "done" method is:
    sub done: Local: ActionClass('RenderView')
    I dont want this controller to be RESTish or atleast how i can enable
    text/html content types here?
    -----BEGIN PGP SIGNATURE-----
    Version: GnuPG v1.4.9 (GNU/Linux)
    Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

    iEYEARECAAYFAkpJJekACgkQlAw25U6UlpCgsQCfWamzBWlE/tU2eMHbnb9HHv6s
    KRQAnRMAnF6Sjf2RO6gGH9gaEJpzSTqa
    =wwA/
    -----END PGP SIGNATURE-----

    _______________________________________________
    List: Catalyst@lists.scsys.co.uk
    Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
    Searchable archive: http://www.mail-archive.com/catalyst@lists.scsys.co.uk/
    Dev site: http://dev.catalyst.perl.org/
  • Angel Kolev at Jun 29, 2009 at 8:58 pm
    Thanks! Now it works.

    Alejandro Imass wrote:
    You can override the default serializers:

    __PACKAGE__->config(
    'default' => 'application/json',
    'stash_key' => 'rest',
    'map' => {
    'text/html' => [ 'View', 'TT', ],
    'text/xml' => [ 'View', 'TT', ],
    },
    );


    On Tue, Jun 30, 2009 at 4:07 PM, Angel Kolevwrote:
    Hi all
    i have controller Myapp::Controller::Offers with "use parent
    'Catalyst::Controller::REST'" where all RESTed requests works fine, but
    then i have Myapp::Controller::Offers::Create where i dont want
    C::C::REST to work, because when i send common form with content type
    'application/x-www-form-urlencoded' to /offers/create/done i recieve 415
    "Content-Type text/html is not supported". The "done" method is:
    sub done: Local: ActionClass('RenderView')
    I dont want this controller to be RESTish or atleast how i can enable
    text/html content types here?
    _______________________________________________
    List: Catalyst@lists.scsys.co.uk
    Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
    Searchable archive: http://www.mail-archive.com/catalyst@lists.scsys.co.uk/
    Dev site: http://dev.catalyst.perl.org/
  • Alejandro Imass at Jun 29, 2009 at 9:31 pm
    Yeah, nowadays it's confusing between XHTML and HTML so just use TT
    both and you're covered, unless you have special XML needs and have to
    discriminate. In any case you can forward to a private sub like so:

    sub collection :Local :ActionClass('REST') {
    my ( $self, $c ) = @_;
    unless($c->forward('check_headers')){
    $self->status_bad_request(
    $c,
    message => 'BAD HEADERS',
    );
    return;
    }
    }

    sub check_headers : Private {
    my ( $self, $c ) = @_;

    my $accept = $c->req->header('accept');
    return undef unless $accept;

    if($accept =~ m/html/){
    $c->req->header('accept' => 'text/html');

    }
    elsif($accept =~ m/xml/){
    $c->req->header('accept' => 'text/xml');
    $c->stash->{template} = $c->action.'.xml';
    }

    return 1;

    }

    YMMV,

    Alex


    On Tue, Jun 30, 2009 at 4:28 PM, Angel Kolevwrote:
    -----BEGIN PGP SIGNED MESSAGE-----
    Hash: SHA1

    Thanks! Now it works.

    Alejandro Imass wrote:
    You can override the default serializers:

    __PACKAGE__->config(
    'default' => 'application/json',
    'stash_key' => 'rest',
    'map' => {
    'text/html' => [ 'View', 'TT', ],
    'text/xml' => [ 'View', 'TT', ],
    },
    );


    On Tue, Jun 30, 2009 at 4:07 PM, Angel Kolevwrote:
    Hi all
    i have controller Myapp::Controller::Offers with "use parent
    'Catalyst::Controller::REST'" where all RESTed requests works fine, but
    then i have Myapp::Controller::Offers::Create where i dont want
    C::C::REST to work, because when i send common form with content type
    'application/x-www-form-urlencoded' to /offers/create/done i recieve 415
    "Content-Type text/html is not supported". The "done" method is:
    sub done: Local: ActionClass('RenderView')
    I dont want this controller to be RESTish or atleast how i can enable
    text/html content types here?
    _______________________________________________
    List: Catalyst@lists.scsys.co.uk
    Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
    Searchable archive: http://www.mail-archive.com/catalyst@lists.scsys.co.uk/
    Dev site: http://dev.catalyst.perl.org/

    -----BEGIN PGP SIGNATURE-----
    Version: GnuPG v1.4.9 (GNU/Linux)
    Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

    iEYEARECAAYFAkpJKvsACgkQlAw25U6UlpDefACgpRwH5cuOQAKFSNLM4Ha8HKT3
    2xAAn3x+1IoEXq8NW009kf9ABk0xpFsU
    =DxEk
    -----END PGP SIGNATURE-----

    _______________________________________________
    List: Catalyst@lists.scsys.co.uk
    Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
    Searchable archive: http://www.mail-archive.com/catalyst@lists.scsys.co.uk/
    Dev site: http://dev.catalyst.perl.org/

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupcatalyst @
categoriescatalyst, perl
postedJun 29, '09 at 8:37p
activeJun 29, '09 at 9:31p
posts4
users2
websitecatalystframework.org
irc#catalyst

2 users in discussion

Alejandro Imass: 2 posts Angel Kolev: 2 posts

People

Translate

site design / logo © 2022 Grokbase