- From: Eric Prud'hommeaux <eric@w3.org>
- Date: Tue, 4 Sep 2001 13:04:11 -0400
- To: www-lib@w3.org
I used ComLine to GET a document that was multipart/mixed. When
HTStreamStack tried to construct an HTBoundary, it got back an
HTErrorStream as HTBoundary could not find the boundary from the
response:
HTAssocList * type_param = response ?
HTResponse_formatParam(response) :
HTAnchor_formatParam(anchor);
char * boundary = HTAssocList_findObject(type_param, "boundary");
This was because HTMIME.c::pumpData had already called HTAnchor_update
to move the headers into the anchor object from the response:
me->headers = HTResponse_handOverHeader(response);
In the process, it wiped out the format parameters which were needed
later on for construction of the stream stack:
PUBLIC HTAssocList * HTResponse_handOverHeader (HTResponse * me)
{
HTAssocList * headers = NULL;
if (me) {
headers = me->headers;
me->headers = NULL;
/* me->type_parameters = NULL; */ /* @@@ */
}
return headers;
}
There are two obvious solutions that I see: re-parse the MIME
separator from the anchor's newly acquired headers or leave
HTResponse::type_parameters alone.
I see from the CVS log that Jose has wrestled with this before:
2.12.2.1
log
@JK: The format parameters were being systematically lost each time.
I commented that line, as it seem wrong
@
text
@d6 1
a6 1
** @@(#) $Id: HTResponse.c,v 2.12 2000/10/30 10:04:23 kahan Exp $
d665 1
a665 4
/* JK: commented this line. Seems to be something that
wasn't completed. And it kept us from getting the
charset in the response object */
/* me->type_parameters = NULL; */ /* @@@@@@ */
@
2.12.2.1.2.1
log
@JK: moving back to the previous version
@
text
@d665 4
a668 1
me->type_parameters = NULL; /* @@@@@@ */
@
Does anybody out there use libwww to fetch multipart documents?
--
-eric
(eric@w3.org)
Feel free to forward this message to any list for any purpose other than
email address distribution.
Received on Tuesday, 4 September 2001 13:04:11 UTC