David Wright wrote:
Ian Docherty wrote:
Moritz Onken wrote:
Am 05.10.2008 um 10:47 schrieb Ian Docherty:

Hi
I am writing a simple test to test a POST method in a web service
but my controller does not see any content in the POSTed request.

In the controller both the $c->request->body and
$c->request->content_length are undefined.

Any ideas?

------ test.t -------
use strict;
use warnings;

use Catalyst::Test 'MyApp';
use HTTP::Request;

my $req = HTTP::Request->new(
  'POST',
  '/foo',
  [
      Content_Type => 'text/plain'
  ],
  "hello world",
  );
It's Content-type => ...
Yup, typo on my part, but it does not change the problem. There is
still no content in the request when it gets to the controller.
It's not a typo, the constructor accepts underscores as well as dashes
so that you can build requests without having to quote the hash keys.

Just a slight modification to my original statement. In the controller
the request body is undef, but the request length is 0 (not undef)

IIRC you have to manually add content-length yourself, HTTP::Request
doesn't build it for you.
Excellent. That was exactly the problem. Thanks.
Regards,
David


_______________________________________________
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/


_______________________________________________
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/

Reply via email to