[Catalyst] Testing RESTful web services
David Wright
dave-catalyst at dexy.org
Mon Oct 6 08:58:15 BST 2008
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.
Regards,
David
More information about the Catalyst
mailing list