- From: Michel Philip <mphilip@infovista.com>
- Date: Thu, 24 Jan 2002 05:52:02 -0500 (EST)
- To: "'www-lib@w3.org'" <www-lib@w3.org>
> For what concerns -1 status return did you tried > HTRequest_setOutputStream(request,HTBlackHole()); Sorry, This is not good for the code that Alik wrote for he calls 'HTPostFormAnchorToChunk()' Nor for the code that Manuele wrote for he calls 'HTLoadToChunk()' This was ok for me for I call 'HTLoadAbsolute()' Then maybe you could find some help with the following. For what concerns -1 content-length in a repeated request I did many patches. First are you sure that the first request really success ? I mean that if you do HTNet_addAfter(errors_callback, NULL, NULL, HT_ERROR, HT_FILTER_LAST); then errors_callback() is never called. Second check if -1 content-length came from HTReader_read. I've this patch in HTReader: me->b_read = NETREAD(soc, me->data, INPUT_BUFFER_SIZE); if ( me->b_read < 0 ) { /* mphilip@infovista.fr */ me->b_read = 0; I've also patches in HTMime and HTTP. For I'm doing: HTNet_setRawBytesCount(net,YES); I found this obvious issue in HTTPEvent: (HTTP.c) long read_len = HTNet_bytesRead(net); long doc_len = HTAnchor_length(anchor); ... if (HTHost_numberOfOutstandingNetObjects(host) == 1 && http->result != HT_CONTINUE && (doc_len<0 || doc_len==read_len)) { HTTPCleanup(request, http->result); /* Raffaele Sena: was HT_LOADED */ With rawByteCount mode I understand that HTNet_bytesRead() will nether be equals to HTAnchor_length() for the second don't count HTTP messages redirections etc... First in HTMIME_put_block I've changed all the HTNet_addBytesRead(me->net, b-start); calls with if ( !HTNet_rawBytesCount(me->net) ) { HTNet_addBytesRead(me->net, b-start); } and /* philipm@alterm.org: CHANGED HTNet_setHeaderBytesRead(me->net, HTNet_bytesRead(me->net));*/ HTNet_setHeaderBytesRead(me->net, length - l); and /* ** If we have more than we need then just take what belongs to us. */ /* philipm@alterm.org: CHANGED if (bodyRead + l >= cl) {*/ if (bodyRead >= cl) { /* philipm@alterm.org: CHANGED int consume = cl - bodyRead;*/ int consume = l; and /* philipm@alterm.org: */ if ( !HTNet_rawBytesCount(net) ) { /* mphilip: CHANGED HTNet_addBytesRead(net, consume);*/ HTNet_addBytesRead(net, l); } /* philipm@alterm.org: CHANGED HTHost_setConsumed(HTNet_host(net), consume);*/ HTHost_setConsumed(HTNet_host(net), l); and again /* philipm@alterm.org: */ if ( !HTNet_rawBytesCount(net) ) { HTNet_addBytesRead(net, l); } second in HTTPEvent I've changed long read_len = HTNet_bytesRead(net) - HTNet_headerBytesRead(net); I did this because in debug mode in the w3chttp.out file the anchor was imcompletly dumped. With these modifications it's well dumped. But remember I've initially called HTNet_setRawBytesCount(net,YES); and I don't know time if it is still ok without this and I have no time to check it. If you try these changes, please try without rawBytesCount and tell me if it's ok. I also have some other changes for -1 returns but it's for HTTPS requests. Hope this help. Michel. -----Original Message----- From: Michel Philip Sent: Wednesday, January 23, 2002 5:57 PM To: 'www-lib@w3.org' Cc: 'alik@witesite.com'; 'rcorell@adobe.com'; '3C4ED77F.1030201@inrialpes.fr' Subject: RE: Problems with data POST Hi, [...] ----- For what concerns -1 status return did you tried HTRequest_setOutputStream(request,HTBlackHole()); /mph
Received on Thursday, 24 January 2002 05:57:03 UTC