Annotation of libwww/Library/src/HTHeader.html, revision 2.9
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:
2.9 ! frystyk 31: #include "HTResponse.h"
2.1 frystyk 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>
2.9 ! frystyk 40: typedef int HTParserCallback (HTRequest * request, HTResponse * response,
! 41: char * token, char * value);
2.8 eric 42: </PRE>
43: <H2>
44: Header Parser Management
45: </H2>
46: <P>
47: Header Parsers can be registered to handle any header. The standard set of
48: HTTP/1.1 MIME parsers is registered by HTMIMEInit in the
49: <A HREF="HTInit.html">HTInit</A> module. The HTParserCallbacks are called by
50: the <A HREF="HTMIME.html">HTMIME</A> module.
51: <P>
52: HTParserCallbacks may be registered for known MIME headers (HTParser_*), or for
53: regular expressions (HTRegexParser_*). To data the regex support is limited to
54: the use of '*' for a wild card.
55: <H2>
56: Header Generator Management
57: </H2>
58: <P>
59: Header Generators can be use to add additional information to aprotocol request.
60: They will all be called.
61: <H3>
62: Add a Header Generator
63: </H3>
2.1 frystyk 64: <PRE>
65: extern BOOL HTGenerator_add (HTList * gens, HTPostCallback * callback);
66: </PRE>
2.8 eric 67: <H3>
68: Unregister a Header generator
69: </H3>
2.1 frystyk 70: <PRE>
71: extern BOOL HTGenerator_delete (HTList * gens, HTPostCallback * callback);
72: </PRE>
2.8 eric 73: <H3>
74: Delete the list of registered header generators.
75: </H3>
2.1 frystyk 76: <PRE>
77: extern BOOL HTGenerator_deleteAll (HTList * gens);
78: </PRE>
2.8 eric 79: <H2>
80: Global List Of Parsers and Generators
81: </H2>
82: <P>
83: As in <A HREF="HTFormat.html">HTFormat module</A> you can register a list
84: globally or locally as you like. The local registrations is managed by
85: <A HREF="HTReq.html">Request Manager</A>
86: <H3>
87: Header Parsers
88: </H3>
2.1 frystyk 89: <PRE>
2.8 eric 90: extern void HTHeader_setMIMEParseSet (HTMIMEParseSet * list);
91: extern HTMIMEParseSet * HTHeader_MIMEParseSet (void);
2.5 frystyk 92: extern BOOL HTHeader_addParser (const char * token, BOOL case_sensitive,
2.3 frystyk 93: HTParserCallback * callback);
2.8 eric 94: extern BOOL HTHeader_addRegexParser (const char * token, BOOL case_sensitive,
95: HTParserCallback * callback);
2.5 frystyk 96: extern BOOL HTHeader_deleteParser (const char * token);
2.1 frystyk 97: </PRE>
2.8 eric 98: <H3>
99: Header Generation
100: </H3>
2.1 frystyk 101: <PRE>
102: extern void HTHeader_setGenerator (HTList * list);
2.4 frystyk 103: extern BOOL HTHeader_addGenerator (HTPostCallback * callback);
104: extern BOOL HTHeader_deleteGenerator (HTPostCallback * callback);
2.1 frystyk 105: extern HTList * HTHeader_generator (void);
106: </PRE>
2.8 eric 107: <H3>
108: Delete all Global Lists
109: </H3>
2.1 frystyk 110: <PRE>
111: extern void HTHeader_deleteAll (void);
112: </PRE>
113: <PRE>
114: #endif /* HTHEADER_H */
115: </PRE>
2.8 eric 116: <P>
117: <HR>
2.7 frystyk 118: <ADDRESS>
2.9 ! frystyk 119: @(#) $Id: HTHeader.html,v 2.8 1996/06/03 19:25:15 eric Exp $
2.7 frystyk 120: </ADDRESS>
2.8 eric 121: </BODY></HTML>
Webmaster