mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-07-03 17:58:30 +00:00
parent
da36e7e256
commit
4d21cd315d
20 changed files with 1075 additions and 664 deletions
126
net/http/http.h
126
net/http/http.h
|
@ -21,61 +21,65 @@
|
|||
#define kHttpReport 15
|
||||
#define kHttpUnlock 16
|
||||
|
||||
#define kHttpAccept 0
|
||||
#define kHttpAcceptCharset 1
|
||||
#define kHttpAcceptEncoding 2
|
||||
#define kHttpAcceptLanguage 3
|
||||
#define kHttpAge 4
|
||||
#define kHttpAllow 5
|
||||
#define kHttpAuthorization 6
|
||||
#define kHttpCacheControl 7
|
||||
#define kHttpChunked 8
|
||||
#define kHttpClose 9
|
||||
#define kHttpConnection 10
|
||||
#define kHttpContentBase 11
|
||||
#define kHttpContentEncoding 12
|
||||
#define kHttpContentLanguage 13
|
||||
#define kHttpContentLength 14
|
||||
#define kHttpContentLocation 15
|
||||
#define kHttpContentMd5 16
|
||||
#define kHttpContentRange 17
|
||||
#define kHttpContentType 18
|
||||
#define kHttpDate 19
|
||||
#define kHttpEtag 20
|
||||
#define kHttpExpires 21
|
||||
#define kHttpFrom 22
|
||||
#define kHttpHost 23
|
||||
#define kHttpIfMatch 24
|
||||
#define kHttpIfModifiedSince 25
|
||||
#define kHttpIfNoneMatch 26
|
||||
#define kHttpIfRange 27
|
||||
#define kHttpIfUnmodifiedSince 28
|
||||
#define kHttpKeepAlive 29
|
||||
#define kHttpMaxForwards 30
|
||||
#define kHttpPragma 31
|
||||
#define kHttpProxyAuthenticate 32
|
||||
#define kHttpProxyAuthorization 33
|
||||
#define kHttpProxyConnection 34
|
||||
#define kHttpRange 35
|
||||
#define kHttpReferer 36
|
||||
#define kHttpTransferEncoding 37
|
||||
#define kHttpUpgrade 38
|
||||
#define kHttpUserAgent 39
|
||||
#define kHttpVia 40
|
||||
#define kHttpLocation 41
|
||||
#define kHttpPublic 42
|
||||
#define kHttpRetryAfter 43
|
||||
#define kHttpServer 44
|
||||
#define kHttpVary 45
|
||||
#define kHttpWarning 46
|
||||
#define kHttpWwwAuthenticate 47
|
||||
#define kHttpLastModified 48
|
||||
#define kHttpCookie 49
|
||||
#define kHttpTrailer 50
|
||||
#define kHttpTe 51
|
||||
#define kHttpDnt 52
|
||||
#define kHttpExpect 53
|
||||
#define kHttpHeadersMax 54
|
||||
#define kHttpAccept 0
|
||||
#define kHttpAcceptCharset 1
|
||||
#define kHttpAcceptEncoding 2
|
||||
#define kHttpAcceptLanguage 3
|
||||
#define kHttpAge 4
|
||||
#define kHttpAllow 5
|
||||
#define kHttpAuthorization 6
|
||||
#define kHttpCacheControl 7
|
||||
#define kHttpChunked 8
|
||||
#define kHttpClose 9
|
||||
#define kHttpConnection 10
|
||||
#define kHttpContentBase 11
|
||||
#define kHttpContentEncoding 12
|
||||
#define kHttpContentLanguage 13
|
||||
#define kHttpContentLength 14
|
||||
#define kHttpContentLocation 15
|
||||
#define kHttpContentMd5 16
|
||||
#define kHttpContentRange 17
|
||||
#define kHttpContentType 18
|
||||
#define kHttpDate 19
|
||||
#define kHttpEtag 20
|
||||
#define kHttpExpires 21
|
||||
#define kHttpFrom 22
|
||||
#define kHttpHost 23
|
||||
#define kHttpIfMatch 24
|
||||
#define kHttpIfModifiedSince 25
|
||||
#define kHttpIfNoneMatch 26
|
||||
#define kHttpIfRange 27
|
||||
#define kHttpIfUnmodifiedSince 28
|
||||
#define kHttpKeepAlive 29
|
||||
#define kHttpMaxForwards 30
|
||||
#define kHttpPragma 31
|
||||
#define kHttpProxyAuthenticate 32
|
||||
#define kHttpProxyAuthorization 33
|
||||
#define kHttpProxyConnection 34
|
||||
#define kHttpRange 35
|
||||
#define kHttpReferer 36
|
||||
#define kHttpTransferEncoding 37
|
||||
#define kHttpUpgrade 38
|
||||
#define kHttpUserAgent 39
|
||||
#define kHttpVia 40
|
||||
#define kHttpLocation 41
|
||||
#define kHttpPublic 42
|
||||
#define kHttpRetryAfter 43
|
||||
#define kHttpServer 44
|
||||
#define kHttpVary 45
|
||||
#define kHttpWarning 46
|
||||
#define kHttpWwwAuthenticate 47
|
||||
#define kHttpLastModified 48
|
||||
#define kHttpCookie 49
|
||||
#define kHttpTrailer 50
|
||||
#define kHttpTe 51
|
||||
#define kHttpDnt 52
|
||||
#define kHttpExpect 53
|
||||
#define kHttpContentDisposition 54
|
||||
#define kHttpContentDescription 55
|
||||
#define kHttpOrigin 56
|
||||
#define kHttpUpgradeInsecureRequests 57
|
||||
#define kHttpHeadersMax 58
|
||||
|
||||
#if !(__ASSEMBLER__ + __LINKER__ + 0)
|
||||
COSMOPOLITAN_C_START_
|
||||
|
@ -85,12 +89,20 @@ struct HttpRequestSlice {
|
|||
};
|
||||
|
||||
struct HttpRequest {
|
||||
int i, t, a, h;
|
||||
int i, t, a;
|
||||
int method;
|
||||
struct HttpRequestSlice k;
|
||||
struct HttpRequestSlice uri;
|
||||
struct HttpRequestSlice version;
|
||||
struct HttpRequestSlice scratch;
|
||||
struct HttpRequestSlice headers[kHttpHeadersMax];
|
||||
struct HttpRequestHeaders {
|
||||
size_t n;
|
||||
struct HttpRequestHeader {
|
||||
struct HttpRequestSlice k;
|
||||
struct HttpRequestSlice v;
|
||||
} * p;
|
||||
} xheaders;
|
||||
};
|
||||
|
||||
extern const char kHttpMethod[17][8];
|
||||
|
@ -98,6 +110,7 @@ extern const char kHttpMethod[17][8];
|
|||
int GetHttpHeader(const char *, size_t);
|
||||
int GetHttpMethod(const char *, size_t);
|
||||
void InitHttpRequest(struct HttpRequest *);
|
||||
void DestroyHttpRequest(struct HttpRequest *);
|
||||
int ParseHttpRequest(struct HttpRequest *, const char *, size_t);
|
||||
int NegotiateHttpRequest(int, const char *, uint32_t *, char *, uint32_t *,
|
||||
uint32_t *, bool, long double);
|
||||
|
@ -107,6 +120,7 @@ bool ParseHttpRange(const char *, size_t, long, long *, long *);
|
|||
unsigned ParseHttpVersion(const char *, size_t);
|
||||
int64_t ParseHttpDateTime(const char *, size_t);
|
||||
const char *GetHttpReason(int);
|
||||
const char *GetHttpHeaderName(int);
|
||||
|
||||
COSMOPOLITAN_C_END_
|
||||
#endif /* !(__ASSEMBLER__ + __LINKER__ + 0) */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue