Thread Net::HTTP interner Puffer
(14 answers)
Opened by rosti at 2011-03-19 23:01
hi Murphy,
vielen Dank für Dein Feedback! Meine Client-Server-Anwendung, an der ich schon länger schreibe, erfordert es, dass kein TE (chunked) stattfindet. In Net::HTTP kann ich das abstellen, indem ich HTTP/1.0 einstelle, da habe ich jedoch das Problem mit dem internen Buffer. Mit LWP::UserAgent habe ich :content_cb getestet, da findet jedoch ein TE statt und die Response ist chunked, ich habe in LWP keine Möglichkeit gefunden, das TE abzustellen (oder ich bin blind *G). Indes, mein neues Modul Net::HTTP10 ist so gut wie fertig, Synopsis: Code (perl): (dl
)
1 2 3 4 5 6 my $s = Net::HTTP10->new($sockattr, $headers) or die "Kein Socket"; #print dump $s, "\n"; $s->request; my($code, $mess, $href) = $s->read_headers or die; printf "Status: %s Mesg: %s \nHeaders: %s\n", $code, $mess, dump $href; #$s->body_callback; printf: Code: (dl
)
1 Status: 200 Mesg: OK Die an ($s->body_callback) angebundene callback()-Funktion liest direkt aus dem Socket die Byte-Sequenzen und ist benutzerspezifisch anzupassen. Hier ist die API ziemlich offen, aber ich sehe keine andere Möglichkeit, in meinen Tests läuft es wie geschmiert ;) Edit: Es läuft sauber ;) Viele Grüße, Rolf modedit Editiert von pq: code--tags um dumper-ausgabe hinzugefügt Last edited: 2011-03-21 11:29:02 +0100 (CET) |