On Mon, 20 Feb 2012 18:33:11 +0000 GJ <gj@freeshell.org> wrote:
On Mon, Feb 20, 2012 at 10:54:04AM +0000, David Precious wrote:
On Sun, 19 Feb 2012 23:20:48 +0000 GJ <gj@freeshell.org> wrote:
The above example is from the documentation, the result is the `else' redirection. I tried my own code also. params->user is empty, in fact if I dump all `params' its empty.
Interesting. Can you dump the request object returned by the 'request' keyword so we can see what Dancer got?
$VAR1 = bless( { '_read_position' => 0, 'content_length' => '27', 'connection' => 'keep-alive', 'headers' => bless( { 'user-agent' => 'Mozilla/5.0 (Ubuntu; X11; Linux i686; rv:9.0.1) Gecko/20100101 Firefox/9.0.1', 'connection' => 'keep-alive', 'accept' => 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'accept-language' => 'en-us,en;q=0.5', 'cookie' => 'session=5aa3a19de3fdd444d66a0ff1a799cc721a0d72a0; user_name=admin; dancer.session=empty', 'accept-encoding' => 'gzip, deflate', 'content-length' => '27', 'host' => 'localhost', 'accept-charset' => 'ISO-8859-1,utf-8;q=0.7,*;q=0.7', 'content-type' => 'application/x-www-form-urlencoded', 'referer' => 'http://localhost/login' }, 'HTTP::Headers' ), '_http_body' => bless( { 'content_length' => '27', 'tmpdir' => '/tmp', 'buffer' => '', 'state' => 'buffering', 'chunk_buffer' => '', 'body' => undef, 'content_type' => 'application/x-www-form-urlencoded', 'length' => 0, 'chunked' => '', 'upload' => {}, 'param_order' => [], 'param' => {}, 'cleanup' => 1 }, 'HTTP::Body::UrlEncoded' ), '_route_pattern' => '/login', 'accept_encoding' => 'gzip, deflate', '_route_params' => {}, 'is_forward' => 0, 'uploads' => {}, '_body_params' => $VAR1->{'_http_body'}{'param'}, 'body' => '', 'accept_charset' => 'ISO-8859-1,utf-8;q=0.7,*;q=0.7', 'method' => 'POST', 'id' => 1, <snipped rest>
Hmm. It looks like the HTTP body contains content, but presumably hasn't been parsed yet. Are you able to test against Perlover's pull request: https://github.com/sukria/Dancer/pull/702 I'd be interested to know if that helps or not. From the dump above, it looks like the HTTP headers have been parsed already, so I'm not convinced it should make any difference. You said in another mail that this only happens when you run via Apache, not running stand-alone I believe; can you share the Apache config you're using so I can attempt to reproduce the problem? Cheers Dave P -- David Precious ("bigpresh") <davidp@preshweb.co.uk> http://www.preshweb.co.uk/ www.preshweb.co.uk/twitter www.preshweb.co.uk/linkedin www.preshweb.co.uk/facebook www.preshweb.co.uk/cpan www.preshweb.co.uk/github