Annotation of libwww/Library/src/HTMIME.html, revision 2.22
2.6 timbl 1: <HTML>
2: <HEAD>
2.21 frystyk 3: <TITLE>W3C Reference Library libwww RFC822 PARSER</TITLE>
2.22 ! frystyk 4: <!-- Changed by: Henrik Frystyk Nielsen, 23-Mar-1996 -->
2.6 timbl 5: </HEAD>
6: <BODY>
2.9 frystyk 7:
8: <H1>MIME Parser</H1>
9:
10: <PRE>
11: /*
2.13 frystyk 12: ** (c) COPYRIGHT MIT 1995.
2.9 frystyk 13: ** Please first read the full copyright statement in the file COPYRIGH.
14: */
15: </PRE>
16:
17: The MIME parser stream presents a MIME document. It recursively
18: invokes the format manager to handle embedded formats.<P>
19:
20: As well as stripping off and parsing the headers, the MIME parser has
21: to parse any weirld MIME encodings it may meet within the body parts
22: of messages, and must deal with multipart messages. <P>
23:
24: This module is implemented to the level necessary for operation with
25: WWW, but is not currently complete for any arbitrary MIME message.<P>
26:
27: Check the <A NAME="z0" HREF="HTMIME.c">source</A> for latest additions
28: to functionality.<P> The MIME parser is complicated by the fact that
29: WWW allows real binary to be sent, not ASCII encoded. Therefore the
30: netascii decoding is included in this module. One cannot layer it by
31: converting first from Net to local text, then decoding it. Of course,
32: for local files, the net ascii decoding is not needed. There are
33: therefore two creation routines. <P>
34:
35: This module is implemented by <A HREF="HTMIME.c">HTMIME.c</A>, and it is
36: a part of the <A
2.17 frystyk 37: HREF="http://www.w3.org/pub/WWW/Library/">
2.14 frystyk 38: W3C Reference Library</A>.
2.9 frystyk 39:
40: <PRE>
41: #ifndef HTMIME_H
2.1 timbl 42: #define HTMIME_H
43:
44: #include "HTStream.h"
2.15 frystyk 45: #include "HTFormat.h"
2.6 timbl 46: </PRE>
2.7 timbl 47:
2.20 frystyk 48: <H2>Stream Converters in this Module</H2>
49:
50: <H3>MIME header parser stream</H3>
51:
52: This stream parses a complete MIME header and if a content type header
53: is found then the stream stack is called. Any left over data is pumped
54: right through the stream.
2.1 timbl 55:
2.8 frystyk 56: <PRE>
2.20 frystyk 57: extern HTConverter HTMIMEConvert;
2.18 frystyk 58: </PRE>
59:
2.20 frystyk 60: <H3>MIME header ONLY parser stream</H3>
2.1 timbl 61:
2.20 frystyk 62: This stream parses a complete MIME header and then returnes HT_PAUSE.
63: It does not set up any streams and resting data stays in the buffer.
64: This can be used if you only want to parse the headers before you
65: decide what to do next. This is for example the case in a server app.
2.18 frystyk 66:
67: <PRE>
2.20 frystyk 68: extern HTConverter HTMIMEHeader;
2.18 frystyk 69: </PRE>
70:
71: <PRE>
2.1 timbl 72: #endif
2.8 frystyk 73: </PRE>
2.1 timbl 74:
2.22 ! frystyk 75: <HR>
! 76: <ADDRESS>
! 77: @(#) $Id: Date Author State $
! 78: </ADDRESS>
2.8 frystyk 79: </BODY>
2.6 timbl 80: </HTML>
Webmaster