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