You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
147 lines
4.4 KiB
147 lines
4.4 KiB
/*++
|
|
|
|
Copyright (c) 1994 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
headers.h
|
|
|
|
Abstract:
|
|
|
|
This file contains the well-known HTTP/MIME request/response headers.
|
|
For each header, two manifests are defined. HTTP_*_SZ contains the header
|
|
name, immediatly followed by a colon. HTTP_*_LEN is the strlen of the
|
|
corresponding HTTP_*_SZ, which does not include the terminating '\0'.
|
|
|
|
Author:
|
|
|
|
Keith Moore (keithmo) 16-Nov-1994
|
|
|
|
Revision History:
|
|
|
|
--*/
|
|
|
|
|
|
#define CSTRLEN(str) (sizeof(str)-1)
|
|
|
|
#ifndef _HEADERS_H_
|
|
#define _HEADERS_H_
|
|
|
|
struct KnownHeaderType {
|
|
LPSTR Text;
|
|
INT Length;
|
|
DWORD Flags;
|
|
DWORD HashVal;
|
|
};
|
|
|
|
#define MAX_HEADER_HASH_SIZE 153
|
|
#define HEADER_HASH_SEED 1291949
|
|
|
|
|
|
extern const BYTE GlobalHeaderHashs[];
|
|
extern const struct KnownHeaderType GlobalKnownHeaders[];
|
|
|
|
DWORD
|
|
FASTCALL
|
|
CalculateHashNoCase(
|
|
IN LPCSTR lpszString,
|
|
IN DWORD dwStringLength
|
|
);
|
|
|
|
|
|
//
|
|
// Various other header defines for different HTTP headers.
|
|
//
|
|
|
|
#define HTTP_ACCEPT_RANGES_SZ "Accept-Ranges:"
|
|
#define HTTP_ACCEPT_RANGES_LEN CSTRLEN(HTTP_ACCEPT_RANGES_SZ)
|
|
|
|
#define HTTP_DATE_SZ "Date:"
|
|
#define HTTP_DATE_LEN (sizeof(HTTP_DATE_SZ) - 1)
|
|
|
|
#define HTTP_EXPIRES_SZ "Expires:"
|
|
#define HTTP_EXPIRES_LEN (sizeof(HTTP_EXPIRES_SZ) - 1)
|
|
|
|
|
|
#define HTTP_CONTENT_DISPOSITION_SZ "Content-Disposition:"
|
|
#define HTTP_CONTENT_DISPOSITION_LEN (sizeof(HTTP_CONTENT_DISPOSITION_SZ) - 1)
|
|
|
|
#define HTTP_LAST_MODIFIED_SZ "Last-Modified:"
|
|
#define HTTP_LAST_MODIFIED_LEN (sizeof(HTTP_LAST_MODIFIED_SZ) - 1)
|
|
|
|
// nuke?
|
|
#define HTTP_UNLESS_MODIFIED_SINCE_SZ "Unless-Modified-Since:"
|
|
#define HTTP_UNLESS_MODIFIED_SINCE_LEN CSTRLEN(HTTP_UNLESS_MODIFIED_SINCE_SZ)
|
|
|
|
#define HTTP_SERVER_SZ "Server:"
|
|
#define HTTP_SERVER_LEN (sizeof(HTTP_SERVER_SZ) - 1)
|
|
|
|
#define HTTP_CONNECTION_SZ "Connection:"
|
|
#define HTTP_CONNECTION_LEN (sizeof(HTTP_CONNECTION_SZ) - 1)
|
|
|
|
#define HTTP_PROXY_CONNECTION_SZ "Proxy-Connection:"
|
|
#define HTTP_PROXY_CONNECTION_LEN (sizeof(HTTP_PROXY_CONNECTION_SZ) - 1)
|
|
|
|
#define HTTP_SET_COOKIE_SZ "Set-Cookie:"
|
|
#define HTTP_SET_COOKIE_LEN (sizeof(HTTP_SET_COOKIE_SZ)-1)
|
|
|
|
//
|
|
// Miscellaneous header goodies.
|
|
//
|
|
|
|
#define CHUNKED_SZ "chunked"
|
|
#define CHUNKED_LEN (sizeof(CHUNKED_SZ) - 1)
|
|
|
|
#define KEEP_ALIVE_SZ "Keep-Alive"
|
|
#define KEEP_ALIVE_LEN (sizeof(KEEP_ALIVE_SZ) - 1)
|
|
|
|
#define CLOSE_SZ "Close"
|
|
#define CLOSE_LEN (sizeof(CLOSE_SZ) - 1)
|
|
|
|
#define BYTES_SZ "bytes"
|
|
#define BYTES_LEN CSTRLEN(BYTES_SZ)
|
|
|
|
#define HTTP_VIA_SZ "Via:"
|
|
#define HTTP_VIA_LEN (sizeof(HTTP_VIA_SZ) - 1)
|
|
|
|
#define HTTP_DATE_SIZE 40
|
|
|
|
// Cache control defines:
|
|
|
|
#define HTTP_CACHE_CONTROL_SZ "Cache-Control:"
|
|
#define HTTP_CACHE_CONTROL_LEN CSTRLEN(HTTP_CACHE_CONTROL_SZ)
|
|
|
|
#define HTTP_AGE_SZ "Age:"
|
|
#define HTTP_AGE_LEN (sizeof(HTTP_AGE_SZ)-1)
|
|
|
|
#define HTTP_VARY_SZ "Vary:"
|
|
#define HTTP_VARY_LEN (sizeof(HTTP_VARY_SZ)-1)
|
|
|
|
#define NO_CACHE_SZ "no-cache"
|
|
#define NO_CACHE_LEN (sizeof(NO_CACHE_SZ) -1)
|
|
|
|
#define NO_STORE_SZ "no-store"
|
|
#define NO_STORE_LEN (sizeof(NO_STORE_SZ) -1)
|
|
|
|
#define MUST_REVALIDATE_SZ "must-revalidate"
|
|
#define MUST_REVALIDATE_LEN (sizeof(MUST_REVALIDATE_SZ) -1)
|
|
|
|
#define MAX_AGE_SZ "max-age"
|
|
#define MAX_AGE_LEN (sizeof(MAX_AGE_SZ) -1)
|
|
|
|
#define PRIVATE_SZ "private"
|
|
#define PRIVATE_LEN (sizeof(PRIVATE_SZ) - 1)
|
|
|
|
#define POSTCHECK_SZ "post-check"
|
|
#define POSTCHECK_LEN (sizeof(POSTCHECK_SZ) -1)
|
|
|
|
#define PRECHECK_SZ "pre-check"
|
|
#define PRECHECK_LEN (sizeof(PRECHECK_SZ) -1)
|
|
|
|
#define FILENAME_SZ "filename"
|
|
#define FILENAME_LEN (sizeof(FILENAME_SZ) - 1)
|
|
|
|
#define USER_AGENT_SZ "user-agent"
|
|
#define USER_AGENT_LEN (sizeof(USER_AGENT_SZ) - 1)
|
|
|
|
#endif // _HEADERS_H_
|