Thread POST-Requests mit beliebigem Content-type beim Testen von Catalyst-Applikationen (1 answers)
Opened by skirnir at 2009-06-12 14:17

skirnir
 2009-06-15 16:22
#122507 #122507
User since
2006-05-09
29 Artikel
BenutzerIn
[default_avatar]
Ok, ich hab's rausbekommen. Also für's Archiv:
Zeile 35 ersetzen durch folgende zwei Zeilen:

Code: (dl )
1
2
my $obj = '{ "login": "testuser@skytel.de", "password": "testing"}' . "\n";
my $dummy = [ 'Content-type' => 'application/json', 'Content-Length' => length($obj) ];

Zeilen 45 und 46 können weg und Zeile 47 sieht jetzt so aus:

Code: (dl )
my $req = HTTP::Request->new('POST', 'http://localhost:3000/rest/login/login', $dummy, $obj);


Damit sehen nicht nur die Header des HTTP::Request Objekts so aus, wie sie es laut Doku sollten ;-), es ist auch wichtig, den Content-length Header des HTTP::Request Objekts zu setzen, damit der Body vom Controller gelesen werden kann.
Ärgerlicherweise legt da ein "echter" Server (auch der von Catalyst Mitgebrachte) keinen so großen Wert drauf.

View full thread POST-Requests mit beliebigem Content-type beim Testen von Catalyst-Applikationen