1 
2 /* Web Polygraph       http://www.web-polygraph.org/
3  * Copyright 2003-2011 The Measurement Factory
4  * Licensed under the Apache License, Version 2.0 */
5 
6 #ifndef POLYGRAPH__RUNTIME_HTTPTEXT_H
7 #define POLYGRAPH__RUNTIME_HTTPTEXT_H
8 
9 #include "xstd/String.h"
10 
11 extern bool KnownHeader(const String &header);
12 
13 // various HTTP header strings
14 
15 // protocol strings
16 extern const String protoHttp1p0;
17 extern const String protoHttp1p1;
18 
19 // request line prefixes
20 extern const String rlpGet;
21 extern const String rlpHead;
22 extern const String rlpPost;
23 extern const String rlpPut;
24 extern const String rlpPatch;
25 extern const String rlpConnect;
26 
27 // request line suffixes: protocol version and spaces
28 extern const String rlsHttp1p0;
29 extern const String rlsHttp1p1;
30 
31 // response line suffix: status code and reason phrase
32 extern const String rls100Continue;
33 extern const String rls200Ok;
34 extern const String rls204NoContent;
35 extern const String rls206PartialContent;
36 extern const String rls302Found;
37 extern const String rls304NotModified;
38 extern const String rls406NotAcceptable;
39 extern const String rls416RequestedRangeNotSatisfiable;
40 extern const String rls417ExpectationFailed;
41 
42 // full header fields
43 extern const String hfAccept;
44 extern const String hfConnAliveOrg;
45 extern const String hfConnCloseOrg;
46 extern const String hfConnAlivePxy;
47 extern const String hfConnClosePxy;
48 extern const String hfCcReload;
49 extern const String hfPragmaReload;
50 extern const String hfCcCachable;
51 extern const String hfCcUncachable;
52 extern const String hfPragmaUncachable;
53 extern const String hfExpect100Continue;
54 
55 // header field prefixes
56 extern const String hfpAcceptEncoding;
57 extern const String hfpCacheControl;
58 extern const String hfpConnection;
59 extern const String hfpCookie;
60 extern const String hfpPragma;
61 extern const String hfpProxyConnection;
62 extern const String hfpProxyAuthenticate;
63 extern const String hfpWwwAuthenticate;
64 extern const String hfpSetCookie;
65 extern const String hfpTransferEncoding;
66 extern const String hfpHost;
67 extern const String hfpIMS;
68 extern const String hfpXLocWorld;
69 extern const String hfpXRemWorld;
70 extern const String hfpXXact;
71 extern const String hfpXTarget;
72 extern const String hfpXAbort;
73 extern const String hfpXPhaseSyncPos;
74 extern const String hfpContentEncoding;
75 extern const String hfpContLength;
76 extern const String hfpContMd5;
77 extern const String hfpContType;
78 extern const String hfpDate;
79 extern const String hfpExpires;
80 extern const String hfpLmt;
81 extern const String hfpServer;
82 extern const String hfpLocation;
83 extern const String hfpProxyAuthorization;
84 extern const String hfpAuthorization;
85 extern const String hfpContRange;
86 extern const String hfpRange;
87 extern const String hfpExpect;
88 extern const String hfpContDisposition;
89 
90 // free text
91 extern const String text302Found;
92 extern const String text406NotAcceptable;
93 extern const String text416RequestedRangeNotSatisfiable;
94 extern const String text417ExpectationFailed;
95 extern const String textMultipartBoundary;
96 extern const String textMultipartSep;
97 
98 // known content-encoding tokens
99 typedef enum { codingIdentity, codingGzip, codingEnd } ContentCoding;
100 extern const String hfGzipContentEncoding;
101 extern const String hfVaryAcceptEncoding;
102 extern const String hfMultiRangeContType;
103 
104 #endif
105