Index: Examples/Makefile.am =================================================================== RCS file: /sources/public/libwww/Library/Examples/Makefile.am,v retrieving revision 1.22 diff -r1.22 Makefile.am 6c6 < showlinks showtags showtext tiny showxml --- > showlinks showtags showtext tiny showxml upgrade 17a18,22 > > DOCS := $(wildcard *.html) > > EXTRA_DIST = \ > $(DOCS) Index: src/HTFormat.html =================================================================== RCS file: /sources/public/libwww/Library/src/HTFormat.html,v retrieving revision 2.83 diff -r2.83 HTFormat.html 162a163 > #define WWW_MIME_UPGRADE HTAtom_for("message/x-rfc822-upgrade") Index: src/HTInit.c =================================================================== RCS file: /sources/public/libwww/Library/src/HTInit.c,v retrieving revision 2.95 diff -r2.95 HTInit.c 56a57 > HTConversion_add(c,"message/x-rfc822-upgrade","*/*", HTMIMEUpgrade, 1.0, 0.0, 0.0); Index: src/HTMIME.c =================================================================== RCS file: /sources/public/libwww/Library/src/HTMIME.c,v retrieving revision 2.94 diff -r2.94 HTMIME.c 43c43,44 < HT_MIME_CONT = 0x8 --- > HT_MIME_CONT = 0x8, > HT_MIME_UPGRADE = 0x10 109a111,120 > ** If we get a 101 Protocol Switch then we are done here > ** but not done with the response (which we don't know > ** how to go about parsing > */ > if (me->mode & HT_MIME_UPGRADE) { > me->hasBody = YES; > return HT_OK; > } > > /* 562a574,585 > return me; > } > > PUBLIC HTStream * HTMIMEUpgrade (HTRequest * request, > void * param, > HTFormat input_format, > HTFormat output_format, > HTStream * output_stream) > { > HTStream * me = HTMIMEConvert(request, param, input_format, > output_format, output_stream); > me->mode |= HT_MIME_UPGRADE; Index: src/HTTP.c =================================================================== RCS file: /sources/public/libwww/Library/src/HTTP.c,v retrieving revision 1.178 diff -r1.178 HTTP.c 196a197 > return YES; 694,702c695,714 < me->buflen = 0; < me->state = EOL_BEGIN; < if (me->info_target) (*me->info_target->isa->_free)(me->info_target); < me->info_target = HTStreamStack(WWW_MIME_CONT, < HTRequest_debugFormat(request), < HTRequest_debugStream(request), < request, NO); < if (length > 0) HTHost_setConsumed(host, length); < return HT_OK; --- > if (me->status==100) { > me->buflen = 0; > me->state = EOL_BEGIN; > if (me->info_target) (*me->info_target->isa->_free)(me->info_target); > me->info_target = HTStreamStack(WWW_MIME_CONT, > HTRequest_debugFormat(request), > HTRequest_debugStream(request), > request, NO); > if (length > 0) HTHost_setConsumed(host, length); > return HT_OK; > } else if (me->status==101) { > if (me->info_target) (*me->info_target->isa->_free)(me->info_target); > me->target = HTStreamStack(WWW_MIME_UPGRADE, > HTRequest_outputFormat(request), > HTRequest_outputStream(request), > request, NO); > if (length > 0) HTHost_setConsumed(host, length); > me->transparent = YES; > return HT_OK; > }