in reply to Return 403 from within CGI::Application runmode

Prove it ;)
  • Comment on Re: Return 403 from within CGI::Application runmode

Replies are listed 'Best First'.
Re^2: Return 403 from within CGI::Application runmode
by tbjers (Initiate) on Feb 11, 2010 at 19:50 UTC
    What do you want me to prove? That I searched everywhere, or that CGI::Application does not handle anything but 400, 404, and 500 statuses?

      For proof, you could show a reduced version of your program that requires nothing outside of CGI::Application that exhibits the behaviour you claim.

        Sample CGI::Application::Dispatch:

        package Sample::Dispatch; use strict; use warnings; use CGI::Application::Dispatch; use base qw(CGI::Application::Dispatch); sub dispatch_args { return { prefix => 'Sample', table => [ q{} => { app => 'Application', rm => 'index' }, ], }; } 1;

        Sample CGI::Application:

        package Sample::Application; use strict; use warnings; use base qw(CGI::Application); use CGI::Application::Plugin::Apache qw(:all); sub setup { my ( $self, $args ) = @_; $self->run_modes('index' => 'index'); $self->start_mode('index'); return 1; } sub index { my ( $self, $args ) = @_; $self->header_type('none'); $self->query->status(403); return q{}; } 1;
        If you set the value of $self->query->status() to 400, 404, and 500 it works as expected. Why does it not support setting any other type of status?
      What Corion said, and it should be easy (copy/paste) since you've already done it :)