Annotation of libwww/Library/src/HTMIME.html, revision 2.21

2.6       timbl       1: <HTML>
                      2: <HEAD>
2.21    ! frystyk     3: <TITLE>W3C Reference Library libwww RFC822 PARSER</TITLE>
2.20      frystyk     4: <!-- Changed by: Henrik Frystyk Nielsen,  3-Feb-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.20      frystyk    75: End of HTMIME declaration
2.8       frystyk    76: </BODY>
2.6       timbl      77: </HTML>

Webmaster