Annotation of libwww/Library/src/HTHeader.html, revision 2.8

2.1       frystyk     1: <HTML>
                      2: <HEAD>
2.8     ! eric        3:   <!-- Changed by: Henrik Frystyk Nielsen, 23-Mar-1996 -->
        !             4: <!-- Changed by: Eric Prud'hommeaux, 28-May-1996 -->
        !             5:   <NEXTID N="z11">
        !             6:   <TITLE>W3C Reference Library libwww EXTRA HEADERS</TITLE>
2.1       frystyk     7: </HEAD>
                      8: <BODY>
2.8     ! eric        9: <H1>
        !            10:   Extra Header Manager
        !            11: </H1>
2.1       frystyk    12: <PRE>
                     13: /*
                     14: **     (c) COPYRIGHT MIT 1995.
                     15: **     Please first read the full copyright statement in the file COPYRIGH.
                     16: */
                     17: </PRE>
2.8     ! eric       18: <P>
        !            19: This module handles lists of callback functions for generating and parsing
        !            20: protocol headers. This works exactly like the lists in
        !            21: <A HREF="HTFormat.html">HTFormat</A>.
        !            22: <P>
        !            23: This module is implemented by <A HREF="HTHeader.c">HTheader.c</A>, and it
        !            24: is a part of the <A HREF="http://www.w3.org/pub/WWW/Library/"> W3C Reference
        !            25: Library</A>.
        !            26: <P>
2.1       frystyk    27: <PRE>
                     28: #ifndef HTHEADER_H
                     29: #define HTHEADER_H
                     30: 
                     31: #include "HTReq.h"
                     32: #include "HTStream.h"
                     33: </PRE>
2.8     ! eric       34: <P>
        !            35: We have two call back functions: the first is for generating headers. This
        !            36: needs a stream to put down the extra headers. This one is defined in the
        !            37: <A HREF="HTReq.html">Request Manager</A>. The other one is for parsing. This
        !            38: needs the string to parse.
        !            39: <PRE>
        !            40: typedef int HTParserCallback (HTRequest * request, char * token, char * value);
        !            41: </PRE>
        !            42: <H2>
        !            43:   Header Parser Management
        !            44: </H2>
        !            45: <P>
        !            46: Header Parsers can be registered to handle any header. The standard set of 
        !            47: HTTP/1.1 MIME parsers is registered by HTMIMEInit in the 
        !            48: <A HREF="HTInit.html">HTInit</A> module. The HTParserCallbacks are called by 
        !            49: the <A HREF="HTMIME.html">HTMIME</A> module.
        !            50: <P>
        !            51: HTParserCallbacks may be registered for known MIME headers (HTParser_*), or for
        !            52: regular expressions (HTRegexParser_*). To data the regex support is limited to
        !            53: the use of '*' for a wild card.
        !            54: <H2>
        !            55:   Header Generator Management
        !            56: </H2>
        !            57: <P>
        !            58: Header Generators can be use to add additional information to aprotocol request.
        !            59: They will all be called.
        !            60: <H3>
        !            61:   Add a Header Generator
        !            62: </H3>
2.1       frystyk    63: <PRE>
                     64: extern BOOL HTGenerator_add (HTList * gens, HTPostCallback * callback);
                     65: </PRE>
2.8     ! eric       66: <H3>
        !            67:   Unregister a Header generator
        !            68: </H3>
2.1       frystyk    69: <PRE>
                     70: extern BOOL HTGenerator_delete (HTList * gens, HTPostCallback * callback);
                     71: </PRE>
2.8     ! eric       72: <H3>
        !            73:   Delete the list of registered header generators.
        !            74: </H3>
2.1       frystyk    75: <PRE>
                     76: extern BOOL HTGenerator_deleteAll (HTList * gens);
                     77: </PRE>
2.8     ! eric       78: <H2>
        !            79:   Global List Of Parsers and Generators
        !            80: </H2>
        !            81: <P>
        !            82: As in <A HREF="HTFormat.html">HTFormat module</A> you can register a list
        !            83: globally or locally as you like. The local registrations is managed by
        !            84: <A HREF="HTReq.html">Request Manager</A>
        !            85: <H3>
        !            86:   Header Parsers
        !            87: </H3>
2.1       frystyk    88: <PRE>
2.8     ! eric       89: extern void HTHeader_setMIMEParseSet (HTMIMEParseSet * list);
        !            90: extern HTMIMEParseSet * HTHeader_MIMEParseSet (void);
2.5       frystyk    91: extern BOOL HTHeader_addParser (const char * token, BOOL case_sensitive,
2.3       frystyk    92:                                HTParserCallback * callback);
2.8     ! eric       93: extern BOOL HTHeader_addRegexParser (const char * token, BOOL case_sensitive,
        !            94:                                HTParserCallback * callback);
2.5       frystyk    95: extern BOOL HTHeader_deleteParser (const char * token);
2.1       frystyk    96: </PRE>
2.8     ! eric       97: <H3>
        !            98:   Header Generation
        !            99: </H3>
2.1       frystyk   100: <PRE>
                    101: extern void HTHeader_setGenerator (HTList * list);
2.4       frystyk   102: extern BOOL HTHeader_addGenerator (HTPostCallback * callback);
                    103: extern BOOL HTHeader_deleteGenerator (HTPostCallback * callback);
2.1       frystyk   104: extern HTList * HTHeader_generator (void);
                    105: </PRE>
2.8     ! eric      106: <H3>
        !           107:   Delete all Global Lists
        !           108: </H3>
2.1       frystyk   109: <PRE>
                    110: extern void HTHeader_deleteAll (void);
                    111: </PRE>
                    112: <PRE>
                    113: #endif /* HTHEADER_H */
                    114: </PRE>
2.8     ! eric      115: <P>
        !           116:   <HR>
2.7       frystyk   117: <ADDRESS>
2.8     ! eric      118:   @(#) $Id: HTHeader.html,v 2.7 1996/04/12 17:47:11 frystyk Exp $
2.7       frystyk   119: </ADDRESS>
2.8     ! eric      120: </BODY></HTML>

Webmaster