Data Structures | Defines | Enumerations | Functions | Variables

HTTP.h File Reference

A brief file description. More...

#include <assert.h>
#include "Arena.h"
#include "INK_MD5.h"
#include "MIME.h"
#include "URL.h"
#include "ink_apidefs.h"
Include dependency graph for HTTP.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  HTTPHdrImpl
struct  HTTPValAccept
struct  HTTPValAcceptCharset
struct  HTTPValAcceptEncoding
struct  HTTPValAcceptLanguage
struct  HTTPValFieldList
struct  HTTPValCacheControl
struct  HTTPValRange
struct  HTTPValTE
struct  HTTPParser
class  HTTPVersion
class  HTTPHdr
struct  HTTPCacheAlt
class  HTTPInfo

Defines

#define HTTP_VERSION(a, b)   ((((a) & 0xFFFF) << 16) | ((b) & 0xFFFF))
#define HTTP_MINOR(v)   ((v) & 0xFFFF)
#define HTTP_MAJOR(v)   (((v) >> 16) & 0xFFFF)

Enumerations

enum  HTTPStatus {
  HTTP_STATUS_NONE = 0, HTTP_STATUS_CONTINUE = 100, HTTP_STATUS_SWITCHING_PROTOCOL = 101, HTTP_STATUS_OK = 200,
  HTTP_STATUS_CREATED = 201, HTTP_STATUS_ACCEPTED = 202, HTTP_STATUS_NON_AUTHORITATIVE_INFORMATION = 203, HTTP_STATUS_NO_CONTENT = 204,
  HTTP_STATUS_RESET_CONTENT = 205, HTTP_STATUS_PARTIAL_CONTENT = 206, HTTP_STATUS_MULTIPLE_CHOICES = 300, HTTP_STATUS_MOVED_PERMANENTLY = 301,
  HTTP_STATUS_MOVED_TEMPORARILY = 302, HTTP_STATUS_SEE_OTHER = 303, HTTP_STATUS_NOT_MODIFIED = 304, HTTP_STATUS_USE_PROXY = 305,
  HTTP_STATUS_TEMPORARY_REDIRECT = 307, HTTP_STATUS_BAD_REQUEST = 400, HTTP_STATUS_UNAUTHORIZED = 401, HTTP_STATUS_PAYMENT_REQUIRED = 402,
  HTTP_STATUS_FORBIDDEN = 403, HTTP_STATUS_NOT_FOUND = 404, HTTP_STATUS_METHOD_NOT_ALLOWED = 405, HTTP_STATUS_NOT_ACCEPTABLE = 406,
  HTTP_STATUS_PROXY_AUTHENTICATION_REQUIRED = 407, HTTP_STATUS_REQUEST_TIMEOUT = 408, HTTP_STATUS_CONFLICT = 409, HTTP_STATUS_GONE = 410,
  HTTP_STATUS_LENGTH_REQUIRED = 411, HTTP_STATUS_PRECONDITION_FAILED = 412, HTTP_STATUS_REQUEST_ENTITY_TOO_LARGE = 413, HTTP_STATUS_REQUEST_URI_TOO_LONG = 414,
  HTTP_STATUS_UNSUPPORTED_MEDIA_TYPE = 415, HTTP_STATUS_RANGE_NOT_SATISFIABLE = 416, HTTP_STATUS_INTERNAL_SERVER_ERROR = 500, HTTP_STATUS_NOT_IMPLEMENTED = 501,
  HTTP_STATUS_BAD_GATEWAY = 502, HTTP_STATUS_SERVICE_UNAVAILABLE = 503, HTTP_STATUS_GATEWAY_TIMEOUT = 504, HTTP_STATUS_HTTPVER_NOT_SUPPORTED = 505
}
enum  HTTPKeepAlive { HTTP_KEEPALIVE_UNDEFINED = 0, HTTP_NO_KEEPALIVE, HTTP_KEEPALIVE }
enum  HTTPWarningCode {
  HTTP_WARNING_CODE_NONE = 0, HTTP_WARNING_CODE_RESPONSE_STALE = 110, HTTP_WARNING_CODE_REVALIDATION_FAILED = 111, HTTP_WARNING_CODE_DISCONNECTED_OPERATION = 112,
  HTTP_WARNING_CODE_HERUISTIC_EXPIRATION = 113, HTTP_WARNING_CODE_TRANSFORMATION_APPLIED = 114, HTTP_WARNING_CODE_MISC_WARNING = 199
}
enum  SquidLogCode {
  SQUID_LOG_EMPTY = '0', SQUID_LOG_TCP_HIT = '1', SQUID_LOG_TCP_DISK_HIT = '2', SQUID_LOG_TCP_MEM_HIT = '.',
  SQUID_LOG_TCP_MISS = '3', SQUID_LOG_TCP_EXPIRED_MISS = '4', SQUID_LOG_TCP_REFRESH_HIT = '5', SQUID_LOG_TCP_REF_FAIL_HIT = '6',
  SQUID_LOG_TCP_REFRESH_MISS = '7', SQUID_LOG_TCP_CLIENT_REFRESH = '8', SQUID_LOG_TCP_IMS_HIT = '9', SQUID_LOG_TCP_IMS_MISS = 'a',
  SQUID_LOG_TCP_SWAPFAIL = 'b', SQUID_LOG_TCP_DENIED = 'c', SQUID_LOG_TCP_WEBFETCH_MISS = 'd', SQUID_LOG_TCP_FUTURE_2 = 'f',
  SQUID_LOG_TCP_HIT_REDIRECT = '[', SQUID_LOG_TCP_MISS_REDIRECT = ']', SQUID_LOG_TCP_HIT_X_REDIRECT = '<', SQUID_LOG_TCP_MISS_X_REDIRECT = '>',
  SQUID_LOG_UDP_HIT = 'g', SQUID_LOG_UDP_WEAK_HIT = 'h', SQUID_LOG_UDP_HIT_OBJ = 'i', SQUID_LOG_UDP_MISS = 'j',
  SQUID_LOG_UDP_DENIED = 'k', SQUID_LOG_UDP_INVALID = 'l', SQUID_LOG_UDP_RELOADING = 'm', SQUID_LOG_UDP_FUTURE_1 = 'n',
  SQUID_LOG_UDP_FUTURE_2 = 'o', SQUID_LOG_ERR_READ_TIMEOUT = 'p', SQUID_LOG_ERR_LIFETIME_EXP = 'q', SQUID_LOG_ERR_NO_CLIENTS_BIG_OBJ = 'r',
  SQUID_LOG_ERR_READ_ERROR = 's', SQUID_LOG_ERR_CLIENT_ABORT = 't', SQUID_LOG_ERR_CONNECT_FAIL = 'u', SQUID_LOG_ERR_INVALID_REQ = 'v',
  SQUID_LOG_ERR_UNSUP_REQ = 'w', SQUID_LOG_ERR_INVALID_URL = 'x', SQUID_LOG_ERR_NO_FDS = 'y', SQUID_LOG_ERR_DNS_FAIL = 'z',
  SQUID_LOG_ERR_NOT_IMPLEMENTED = 'A', SQUID_LOG_ERR_CANNOT_FETCH = 'B', SQUID_LOG_ERR_NO_RELAY = 'C', SQUID_LOG_ERR_DISK_IO = 'D',
  SQUID_LOG_ERR_ZERO_SIZE_OBJECT = 'E', SQUID_LOG_ERR_PROXY_DENIED = 'G', SQUID_LOG_ERR_WEBFETCH_DETECTED = 'H', SQUID_LOG_ERR_FUTURE_1 = 'I',
  SQUID_LOG_ERR_UNKNOWN = 'Z'
}
enum  SquidHierarchyCode {
  SQUID_HIER_EMPTY = '0', SQUID_HIER_NONE = '1', SQUID_HIER_DIRECT = '2', SQUID_HIER_SIBLING_HIT = '3',
  SQUID_HIER_PARENT_HIT = '4', SQUID_HIER_DEFAULT_PARENT = '5', SQUID_HIER_SINGLE_PARENT = '6', SQUID_HIER_FIRST_UP_PARENT = '7',
  SQUID_HIER_NO_PARENT_DIRECT = '8', SQUID_HIER_FIRST_PARENT_MISS = '9', SQUID_HIER_LOCAL_IP_DIRECT = 'a', SQUID_HIER_FIREWALL_IP_DIRECT = 'b',
  SQUID_HIER_NO_DIRECT_FAIL = 'c', SQUID_HIER_SOURCE_FASTEST = 'd', SQUID_HIER_SIBLING_UDP_HIT_OBJ = 'e', SQUID_HIER_PARENT_UDP_HIT_OBJ = 'f',
  SQUID_HIER_PASSTHROUGH_PARENT = 'g', SQUID_HIER_SSL_PARENT_MISS = 'h', SQUID_HIER_INVALID_CODE = 'i', SQUID_HIER_TIMEOUT_DIRECT = 'j',
  SQUID_HIER_TIMEOUT_SIBLING_HIT = 'k', SQUID_HIER_TIMEOUT_PARENT_HIT = 'l', SQUID_HIER_TIMEOUT_DEFAULT_PARENT = 'm', SQUID_HIER_TIMEOUT_SINGLE_PARENT = 'n',
  SQUID_HIER_TIMEOUT_FIRST_UP_PARENT = 'o', SQUID_HIER_TIMEOUT_NO_PARENT_DIRECT = 'p', SQUID_HIER_TIMEOUT_FIRST_PARENT_MISS = 'q', SQUID_HIER_TIMEOUT_LOCAL_IP_DIRECT = 'r',
  SQUID_HIER_TIMEOUT_FIREWALL_IP_DIRECT = 's', SQUID_HIER_TIMEOUT_NO_DIRECT_FAIL = 't', SQUID_HIER_TIMEOUT_SOURCE_FASTEST = 'u', SQUID_HIER_TIMEOUT_SIBLING_UDP_HIT_OBJ = 'v',
  SQUID_HIER_TIMEOUT_PARENT_UDP_HIT_OBJ = 'w', SQUID_HIER_TIMEOUT_PASSTHROUGH_PARENT = 'x', SQUID_HIER_TIMEOUT_TIMEOUT_SSL_PARENT_MISS = 'y', SQUID_HIER_INVALID_ASSIGNED_CODE = 'z'
}
enum  SquidHitMissCode {
  SQUID_HIT_RESERVED = '0', SQUID_HIT_LEVEL_1 = '1', SQUID_HIT_LEVEL_2 = '2', SQUID_HIT_LEVEL_3 = '3',
  SQUID_HIT_LEVEL_4 = '4', SQUID_HIT_LEVEL_5 = '5', SQUID_HIT_LEVEL_6 = '6', SQUID_HIT_LEVEL_7 = '7',
  SQUID_HIT_LEVEL_8 = '8', SQUID_HIT_LEVEl_9 = '9', SQUID_MISS_NONE = '1', SQUID_MISS_ICP_AUTH = '2',
  SQUID_MISS_HTTP_NON_CACHE = '3', SQUID_MISS_ICP_STOPLIST = '4', SQUID_MISS_HTTP_NO_DLE = '5', SQUID_MISS_HTTP_NO_LE = '6',
  SQUID_MISS_HTTP_CONTENT = '7', SQUID_MISS_PRAGMA_NOCACHE = '8', SQUID_MISS_PASS = '9', SQUID_MISS_PRE_EXPIRED = 'a',
  SQUID_MISS_ERROR = 'b', SQUID_MISS_CACHE_BYPASS = 'c', SQUID_HIT_MISS_INVALID_ASSIGNED_CODE = 'z'
}
enum  HTTPType { HTTP_TYPE_UNKNOWN, HTTP_TYPE_REQUEST, HTTP_TYPE_RESPONSE }
enum  { CACHE_ALT_MAGIC_ALIVE = 0xabcddeed, CACHE_ALT_MAGIC_MARSHALED = 0xdcbadeed, CACHE_ALT_MAGIC_DEAD = 0xdeadeed }

Functions

void http_hdr_adjust (HTTPHdrImpl *hdrp, int32_t offset, int32_t length, int32_t delta)
void http_init ()
inkcoreapi HTTPHdrImplhttp_hdr_create (HdrHeap *heap, HTTPType polarity)
void http_hdr_init (HdrHeap *heap, HTTPHdrImpl *hh, HTTPType polarity)
HTTPHdrImplhttp_hdr_clone (HTTPHdrImpl *s_hh, HdrHeap *s_heap, HdrHeap *d_heap)
void http_hdr_copy_onto (HTTPHdrImpl *s_hh, HdrHeap *s_heap, HTTPHdrImpl *d_hh, HdrHeap *d_heap, bool inherit_strs)
inkcoreapi int http_hdr_print (HdrHeap *heap, HTTPHdrImpl *hh, char *buf, int bufsize, int *bufindex, int *dumpoffset)
void http_hdr_describe (HdrHeapObjImpl *obj, bool recurse=true)
int http_hdr_length_get (HTTPHdrImpl *hh)
inkcoreapi void http_hdr_version_set (HTTPHdrImpl *hh, int32_t ver)
const char * http_hdr_method_get (HTTPHdrImpl *hh, int *length)
inkcoreapi void http_hdr_method_set (HdrHeap *heap, HTTPHdrImpl *hh, const char *method, int16_t method_wks_idx, int method_length, bool must_copy)
void http_hdr_url_set (HdrHeap *heap, HTTPHdrImpl *hh, URLImpl *url)
void http_hdr_status_set (HTTPHdrImpl *hh, HTTPStatus status)
const char * http_hdr_reason_get (HTTPHdrImpl *hh, int *length)
void http_hdr_reason_set (HdrHeap *heap, HTTPHdrImpl *hh, const char *value, int length, bool must_copy)
const char * http_hdr_reason_lookup (unsigned status)
void http_parser_init (HTTPParser *parser)
void http_parser_clear (HTTPParser *parser)
MIMEParseResult http_parser_parse_req (HTTPParser *parser, HdrHeap *heap, HTTPHdrImpl *hh, const char **start, const char *end, bool must_copy_strings, bool eof)
MIMEParseResult http_parser_parse_resp (HTTPParser *parser, HdrHeap *heap, HTTPHdrImpl *hh, const char **start, const char *end, bool must_copy_strings, bool eof)
HTTPStatus http_parse_status (const char *start, const char *end)
int32_t http_parse_version (const char *start, const char *end)
HTTPValTEhttp_parse_te (const char *buf, int len, Arena *arena)
HTTPType http_hdr_type_get (HTTPHdrImpl *hh)
int32_t http_hdr_version_get (HTTPHdrImpl *hh)
HTTPStatus http_hdr_status_get (HTTPHdrImpl *hh)

Variables

const char * HTTP_METHOD_CONNECT
const char * HTTP_METHOD_DELETE
const char * HTTP_METHOD_GET
const char * HTTP_METHOD_HEAD
const char * HTTP_METHOD_ICP_QUERY
const char * HTTP_METHOD_OPTIONS
const char * HTTP_METHOD_POST
const char * HTTP_METHOD_PURGE
const char * HTTP_METHOD_PUT
const char * HTTP_METHOD_TRACE
const char * HTTP_METHOD_PUSH
int HTTP_WKSIDX_CONNECT
int HTTP_WKSIDX_DELETE
int HTTP_WKSIDX_GET
int HTTP_WKSIDX_HEAD
int HTTP_WKSIDX_ICP_QUERY
int HTTP_WKSIDX_OPTIONS
int HTTP_WKSIDX_POST
int HTTP_WKSIDX_PURGE
int HTTP_WKSIDX_PUT
int HTTP_WKSIDX_TRACE
int HTTP_WKSIDX_PUSH
int HTTP_WKSIDX_METHODS_CNT
int HTTP_LEN_CONNECT
int HTTP_LEN_DELETE
int HTTP_LEN_GET
int HTTP_LEN_HEAD
int HTTP_LEN_ICP_QUERY
int HTTP_LEN_OPTIONS
int HTTP_LEN_POST
int HTTP_LEN_PURGE
int HTTP_LEN_PUT
int HTTP_LEN_TRACE
int HTTP_LEN_PUSH
const char * HTTP_VALUE_BYTES
const char * HTTP_VALUE_CHUNKED
const char * HTTP_VALUE_CLOSE
const char * HTTP_VALUE_COMPRESS
const char * HTTP_VALUE_DEFLATE
const char * HTTP_VALUE_GZIP
const char * HTTP_VALUE_IDENTITY
const char * HTTP_VALUE_KEEP_ALIVE
const char * HTTP_VALUE_MAX_AGE
const char * HTTP_VALUE_MAX_STALE
const char * HTTP_VALUE_MIN_FRESH
const char * HTTP_VALUE_MUST_REVALIDATE
const char * HTTP_VALUE_NONE
const char * HTTP_VALUE_NO_CACHE
const char * HTTP_VALUE_NO_STORE
const char * HTTP_VALUE_NO_TRANSFORM
const char * HTTP_VALUE_ONLY_IF_CACHED
const char * HTTP_VALUE_PRIVATE
const char * HTTP_VALUE_PROXY_REVALIDATE
const char * HTTP_VALUE_PUBLIC
const char * HTTP_VALUE_S_MAXAGE
const char * HTTP_VALUE_NEED_REVALIDATE_ONCE
const char * HTTP_VALUE_100_CONTINUE
int HTTP_LEN_BYTES
int HTTP_LEN_CHUNKED
int HTTP_LEN_CLOSE
int HTTP_LEN_COMPRESS
int HTTP_LEN_DEFLATE
int HTTP_LEN_GZIP
int HTTP_LEN_IDENTITY
int HTTP_LEN_KEEP_ALIVE
int HTTP_LEN_MAX_AGE
int HTTP_LEN_MAX_STALE
int HTTP_LEN_MIN_FRESH
int HTTP_LEN_MUST_REVALIDATE
int HTTP_LEN_NONE
int HTTP_LEN_NO_CACHE
int HTTP_LEN_NO_STORE
int HTTP_LEN_NO_TRANSFORM
int HTTP_LEN_ONLY_IF_CACHED
int HTTP_LEN_PRIVATE
int HTTP_LEN_PROXY_REVALIDATE
int HTTP_LEN_PUBLIC
int HTTP_LEN_S_MAXAGE
int HTTP_LEN_NEED_REVALIDATE_ONCE
int HTTP_LEN_100_CONTINUE

Detailed Description

A brief file description.

License

Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Definition in file HTTP.h.


Define Documentation

#define HTTP_MAJOR (   v  )     (((v) >> 16) & 0xFFFF)
#define HTTP_MINOR (   v  )     ((v) & 0xFFFF)
#define HTTP_VERSION (   a,
  b 
)    ((((a) & 0xFFFF) << 16) | ((b) & 0xFFFF))

Enumeration Type Documentation

anonymous enum
Enumerator:
CACHE_ALT_MAGIC_ALIVE 
CACHE_ALT_MAGIC_MARSHALED 
CACHE_ALT_MAGIC_DEAD 

Definition at line 1284 of file HTTP.h.

Enumerator:
HTTP_KEEPALIVE_UNDEFINED 
HTTP_NO_KEEPALIVE 
HTTP_KEEPALIVE 

Definition at line 90 of file HTTP.h.

enum HTTPStatus
Enumerator:
HTTP_STATUS_NONE 
HTTP_STATUS_CONTINUE 
HTTP_STATUS_SWITCHING_PROTOCOL 
HTTP_STATUS_OK 
HTTP_STATUS_CREATED 
HTTP_STATUS_ACCEPTED 
HTTP_STATUS_NON_AUTHORITATIVE_INFORMATION 
HTTP_STATUS_NO_CONTENT 
HTTP_STATUS_RESET_CONTENT 
HTTP_STATUS_PARTIAL_CONTENT 
HTTP_STATUS_MULTIPLE_CHOICES 
HTTP_STATUS_MOVED_PERMANENTLY 
HTTP_STATUS_MOVED_TEMPORARILY 
HTTP_STATUS_SEE_OTHER 
HTTP_STATUS_NOT_MODIFIED 
HTTP_STATUS_USE_PROXY 
HTTP_STATUS_TEMPORARY_REDIRECT 
HTTP_STATUS_BAD_REQUEST 
HTTP_STATUS_UNAUTHORIZED 
HTTP_STATUS_PAYMENT_REQUIRED 
HTTP_STATUS_FORBIDDEN 
HTTP_STATUS_NOT_FOUND 
HTTP_STATUS_METHOD_NOT_ALLOWED 
HTTP_STATUS_NOT_ACCEPTABLE 
HTTP_STATUS_PROXY_AUTHENTICATION_REQUIRED 
HTTP_STATUS_REQUEST_TIMEOUT 
HTTP_STATUS_CONFLICT 
HTTP_STATUS_GONE 
HTTP_STATUS_LENGTH_REQUIRED 
HTTP_STATUS_PRECONDITION_FAILED 
HTTP_STATUS_REQUEST_ENTITY_TOO_LARGE 
HTTP_STATUS_REQUEST_URI_TOO_LONG 
HTTP_STATUS_UNSUPPORTED_MEDIA_TYPE 
HTTP_STATUS_RANGE_NOT_SATISFIABLE 
HTTP_STATUS_INTERNAL_SERVER_ERROR 
HTTP_STATUS_NOT_IMPLEMENTED 
HTTP_STATUS_BAD_GATEWAY 
HTTP_STATUS_SERVICE_UNAVAILABLE 
HTTP_STATUS_GATEWAY_TIMEOUT 
HTTP_STATUS_HTTPVER_NOT_SUPPORTED 

Definition at line 41 of file HTTP.h.

enum HTTPType
Enumerator:
HTTP_TYPE_UNKNOWN 
HTTP_TYPE_REQUEST 
HTTP_TYPE_RESPONSE 

Definition at line 233 of file HTTP.h.

Enumerator:
HTTP_WARNING_CODE_NONE 
HTTP_WARNING_CODE_RESPONSE_STALE 
HTTP_WARNING_CODE_REVALIDATION_FAILED 
HTTP_WARNING_CODE_DISCONNECTED_OPERATION 
HTTP_WARNING_CODE_HERUISTIC_EXPIRATION 
HTTP_WARNING_CODE_TRANSFORMATION_APPLIED 
HTTP_WARNING_CODE_MISC_WARNING 

Definition at line 97 of file HTTP.h.

Enumerator:
SQUID_HIER_EMPTY 
SQUID_HIER_NONE 
SQUID_HIER_DIRECT 
SQUID_HIER_SIBLING_HIT 
SQUID_HIER_PARENT_HIT 
SQUID_HIER_DEFAULT_PARENT 
SQUID_HIER_SINGLE_PARENT 
SQUID_HIER_FIRST_UP_PARENT 
SQUID_HIER_NO_PARENT_DIRECT 
SQUID_HIER_FIRST_PARENT_MISS 
SQUID_HIER_LOCAL_IP_DIRECT 
SQUID_HIER_FIREWALL_IP_DIRECT 
SQUID_HIER_NO_DIRECT_FAIL 
SQUID_HIER_SOURCE_FASTEST 
SQUID_HIER_SIBLING_UDP_HIT_OBJ 
SQUID_HIER_PARENT_UDP_HIT_OBJ 
SQUID_HIER_PASSTHROUGH_PARENT 
SQUID_HIER_SSL_PARENT_MISS 
SQUID_HIER_INVALID_CODE 
SQUID_HIER_TIMEOUT_DIRECT 
SQUID_HIER_TIMEOUT_SIBLING_HIT 
SQUID_HIER_TIMEOUT_PARENT_HIT 
SQUID_HIER_TIMEOUT_DEFAULT_PARENT 
SQUID_HIER_TIMEOUT_SINGLE_PARENT 
SQUID_HIER_TIMEOUT_FIRST_UP_PARENT 
SQUID_HIER_TIMEOUT_NO_PARENT_DIRECT 
SQUID_HIER_TIMEOUT_FIRST_PARENT_MISS 
SQUID_HIER_TIMEOUT_LOCAL_IP_DIRECT 
SQUID_HIER_TIMEOUT_FIREWALL_IP_DIRECT 
SQUID_HIER_TIMEOUT_NO_DIRECT_FAIL 
SQUID_HIER_TIMEOUT_SOURCE_FASTEST 
SQUID_HIER_TIMEOUT_SIBLING_UDP_HIT_OBJ 
SQUID_HIER_TIMEOUT_PARENT_UDP_HIT_OBJ 
SQUID_HIER_TIMEOUT_PASSTHROUGH_PARENT 
SQUID_HIER_TIMEOUT_TIMEOUT_SSL_PARENT_MISS 
SQUID_HIER_INVALID_ASSIGNED_CODE 

Definition at line 164 of file HTTP.h.

Enumerator:
SQUID_HIT_RESERVED 
SQUID_HIT_LEVEL_1 
SQUID_HIT_LEVEL_2 
SQUID_HIT_LEVEL_3 
SQUID_HIT_LEVEL_4 
SQUID_HIT_LEVEL_5 
SQUID_HIT_LEVEL_6 
SQUID_HIT_LEVEL_7 
SQUID_HIT_LEVEL_8 
SQUID_HIT_LEVEl_9 
SQUID_MISS_NONE 
SQUID_MISS_ICP_AUTH 
SQUID_MISS_HTTP_NON_CACHE 
SQUID_MISS_ICP_STOPLIST 
SQUID_MISS_HTTP_NO_DLE 
SQUID_MISS_HTTP_NO_LE 
SQUID_MISS_HTTP_CONTENT 
SQUID_MISS_PRAGMA_NOCACHE 
SQUID_MISS_PASS 
SQUID_MISS_PRE_EXPIRED 
SQUID_MISS_ERROR 
SQUID_MISS_CACHE_BYPASS 
SQUID_HIT_MISS_INVALID_ASSIGNED_CODE 

Definition at line 205 of file HTTP.h.

Enumerator:
SQUID_LOG_EMPTY 
SQUID_LOG_TCP_HIT 
SQUID_LOG_TCP_DISK_HIT 
SQUID_LOG_TCP_MEM_HIT 
SQUID_LOG_TCP_MISS 
SQUID_LOG_TCP_EXPIRED_MISS 
SQUID_LOG_TCP_REFRESH_HIT 
SQUID_LOG_TCP_REF_FAIL_HIT 
SQUID_LOG_TCP_REFRESH_MISS 
SQUID_LOG_TCP_CLIENT_REFRESH 
SQUID_LOG_TCP_IMS_HIT 
SQUID_LOG_TCP_IMS_MISS 
SQUID_LOG_TCP_SWAPFAIL 
SQUID_LOG_TCP_DENIED 
SQUID_LOG_TCP_WEBFETCH_MISS 
SQUID_LOG_TCP_FUTURE_2 
SQUID_LOG_TCP_HIT_REDIRECT 
SQUID_LOG_TCP_MISS_REDIRECT 
SQUID_LOG_TCP_HIT_X_REDIRECT 
SQUID_LOG_TCP_MISS_X_REDIRECT 
SQUID_LOG_UDP_HIT 
SQUID_LOG_UDP_WEAK_HIT 
SQUID_LOG_UDP_HIT_OBJ 
SQUID_LOG_UDP_MISS 
SQUID_LOG_UDP_DENIED 
SQUID_LOG_UDP_INVALID 
SQUID_LOG_UDP_RELOADING 
SQUID_LOG_UDP_FUTURE_1 
SQUID_LOG_UDP_FUTURE_2 
SQUID_LOG_ERR_READ_TIMEOUT 
SQUID_LOG_ERR_LIFETIME_EXP 
SQUID_LOG_ERR_NO_CLIENTS_BIG_OBJ 
SQUID_LOG_ERR_READ_ERROR 
SQUID_LOG_ERR_CLIENT_ABORT 
SQUID_LOG_ERR_CONNECT_FAIL 
SQUID_LOG_ERR_INVALID_REQ 
SQUID_LOG_ERR_UNSUP_REQ 
SQUID_LOG_ERR_INVALID_URL 
SQUID_LOG_ERR_NO_FDS 
SQUID_LOG_ERR_DNS_FAIL 
SQUID_LOG_ERR_NOT_IMPLEMENTED 
SQUID_LOG_ERR_CANNOT_FETCH 
SQUID_LOG_ERR_NO_RELAY 
SQUID_LOG_ERR_DISK_IO 
SQUID_LOG_ERR_ZERO_SIZE_OBJECT 
SQUID_LOG_ERR_PROXY_DENIED 
SQUID_LOG_ERR_WEBFETCH_DETECTED 
SQUID_LOG_ERR_FUTURE_1 
SQUID_LOG_ERR_UNKNOWN 

Definition at line 110 of file HTTP.h.


Function Documentation

void http_hdr_adjust ( HTTPHdrImpl hdrp,
int32_t  offset,
int32_t  length,
int32_t  delta 
)

Definition at line 170 of file HTTP.cc.

References ink_release_assert.

HTTPHdrImpl* http_hdr_clone ( HTTPHdrImpl s_hh,
HdrHeap s_heap,
HdrHeap d_heap 
)

Definition at line 370 of file HTTP.cc.

References http_hdr_copy_onto(), http_hdr_create(), and HTTPHdrImpl::m_polarity.

Referenced by HTTPHdr::copy(), and TSHttpHdrClone().

void http_hdr_copy_onto ( HTTPHdrImpl s_hh,
HdrHeap s_heap,
HTTPHdrImpl d_hh,
HdrHeap d_heap,
bool  inherit_strs 
)
inkcoreapi HTTPHdrImpl* http_hdr_create ( HdrHeap heap,
HTTPType  polarity 
)

Definition at line 301 of file HTTP.cc.

References HdrHeap::allocate_obj(), HDR_HEAP_OBJ_HTTP_HEADER, and http_hdr_init().

Referenced by HTTPHdr::create(), and http_hdr_clone().

void http_hdr_describe ( HdrHeapObjImpl obj,
bool  recurse = true 
)
void http_hdr_init ( HdrHeap heap,
HTTPHdrImpl hh,
HTTPType  polarity 
)
int http_hdr_length_get ( HTTPHdrImpl hh  ) 
const char* http_hdr_method_get ( HTTPHdrImpl hh,
int *  length 
)
inkcoreapi void http_hdr_method_set ( HdrHeap heap,
HTTPHdrImpl hh,
const char *  method,
int16_t  method_wks_idx,
int  method_length,
bool  must_copy 
)
inkcoreapi int http_hdr_print ( HdrHeap heap,
HTTPHdrImpl hh,
char *  buf,
int  bufsize,
int *  bufindex,
int *  dumpoffset 
)
const char* http_hdr_reason_get ( HTTPHdrImpl hh,
int *  length 
)
const char* http_hdr_reason_lookup ( unsigned  status  ) 
void http_hdr_reason_set ( HdrHeap heap,
HTTPHdrImpl hh,
const char *  value,
int  length,
bool  must_copy 
)
HTTPStatus http_hdr_status_get ( HTTPHdrImpl hh  )  [inline]
void http_hdr_status_set ( HTTPHdrImpl hh,
HTTPStatus  status 
)
HTTPType http_hdr_type_get ( HTTPHdrImpl hh  )  [inline]

Definition at line 978 of file HTTP.h.

References HTTPHdrImpl::m_polarity.

Referenced by HTTPHdr::type_get().

void http_hdr_url_set ( HdrHeap heap,
HTTPHdrImpl hh,
URLImpl url 
)
int32_t http_hdr_version_get ( HTTPHdrImpl hh  )  [inline]

Definition at line 997 of file HTTP.h.

References HTTPHdrImpl::m_version.

Referenced by HTTPHdr::version_get().

inkcoreapi void http_hdr_version_set ( HTTPHdrImpl hh,
int32_t  ver 
)

Definition at line 660 of file HTTP.cc.

References HTTPHdrImpl::m_version.

Referenced by http_parser_parse_req(), http_parser_parse_resp(), and HTTPHdr::version_set().

void http_init (  ) 

Definition at line 180 of file HTTP.cc.

References hdrtoken_string_to_wks(), hdrtoken_wks_to_index(), hdrtoken_wks_to_length(), HTTP_LEN_100_CONTINUE, HTTP_LEN_BYTES, HTTP_LEN_CHUNKED, HTTP_LEN_CLOSE, HTTP_LEN_COMPRESS, HTTP_LEN_CONNECT, HTTP_LEN_DEFLATE, HTTP_LEN_DELETE, HTTP_LEN_GET, HTTP_LEN_GZIP, HTTP_LEN_HEAD, HTTP_LEN_ICP_QUERY, HTTP_LEN_IDENTITY, HTTP_LEN_KEEP_ALIVE, HTTP_LEN_MAX_AGE, HTTP_LEN_MAX_STALE, HTTP_LEN_MIN_FRESH, HTTP_LEN_MUST_REVALIDATE, HTTP_LEN_NEED_REVALIDATE_ONCE, HTTP_LEN_NO_CACHE, HTTP_LEN_NO_STORE, HTTP_LEN_NO_TRANSFORM, HTTP_LEN_NONE, HTTP_LEN_ONLY_IF_CACHED, HTTP_LEN_OPTIONS, HTTP_LEN_POST, HTTP_LEN_PRIVATE, HTTP_LEN_PROXY_REVALIDATE, HTTP_LEN_PUBLIC, HTTP_LEN_PURGE, HTTP_LEN_PUSH, HTTP_LEN_PUT, HTTP_LEN_S_MAXAGE, HTTP_LEN_TRACE, atscppapi::HTTP_METHOD_CONNECT, atscppapi::HTTP_METHOD_DELETE, atscppapi::HTTP_METHOD_GET, atscppapi::HTTP_METHOD_HEAD, atscppapi::HTTP_METHOD_ICP_QUERY, atscppapi::HTTP_METHOD_OPTIONS, atscppapi::HTTP_METHOD_POST, atscppapi::HTTP_METHOD_PURGE, atscppapi::HTTP_METHOD_PUSH, atscppapi::HTTP_METHOD_PUT, atscppapi::HTTP_METHOD_TRACE, HTTP_VALUE_100_CONTINUE, HTTP_VALUE_BYTES, HTTP_VALUE_CHUNKED, HTTP_VALUE_CLOSE, HTTP_VALUE_COMPRESS, HTTP_VALUE_DEFLATE, HTTP_VALUE_GZIP, HTTP_VALUE_IDENTITY, HTTP_VALUE_KEEP_ALIVE, HTTP_VALUE_MAX_AGE, HTTP_VALUE_MAX_STALE, HTTP_VALUE_MIN_FRESH, HTTP_VALUE_MUST_REVALIDATE, HTTP_VALUE_NEED_REVALIDATE_ONCE, HTTP_VALUE_NO_CACHE, HTTP_VALUE_NO_STORE, HTTP_VALUE_NO_TRANSFORM, HTTP_VALUE_NONE, HTTP_VALUE_ONLY_IF_CACHED, HTTP_VALUE_PRIVATE, HTTP_VALUE_PROXY_REVALIDATE, HTTP_VALUE_PUBLIC, HTTP_VALUE_S_MAXAGE, HTTP_WKSIDX_CONNECT, HTTP_WKSIDX_DELETE, HTTP_WKSIDX_GET, HTTP_WKSIDX_HEAD, HTTP_WKSIDX_ICP_QUERY, HTTP_WKSIDX_METHODS_CNT, HTTP_WKSIDX_OPTIONS, HTTP_WKSIDX_POST, HTTP_WKSIDX_PURGE, HTTP_WKSIDX_PUSH, HTTP_WKSIDX_PUT, HTTP_WKSIDX_TRACE, mime_init(), SIZEOF, and url_init().

Referenced by HdrTest::go(), init_http_header(), and main().

HTTPStatus http_parse_status ( const char *  start,
const char *  end 
)

Definition at line 1276 of file HTTP.cc.

References ParseRules::is_digit(), and ParseRules::is_space().

Referenced by http_parser_parse_resp().

HTTPValTE* http_parse_te ( const char *  buf,
int  len,
Arena arena 
)
int32_t http_parse_version ( const char *  start,
const char *  end 
)

Definition at line 1295 of file HTTP.cc.

References HTTP_VERSION, and ParseRules::is_digit().

Referenced by http_parser_parse_req(), and http_parser_parse_resp().

void http_parser_clear ( HTTPParser parser  ) 
void http_parser_init ( HTTPParser parser  ) 
MIMEParseResult http_parser_parse_req ( HTTPParser parser,
HdrHeap heap,
HTTPHdrImpl hh,
const char **  start,
const char *  end,
bool  must_copy_strings,
bool  eof 
)
MIMEParseResult http_parser_parse_resp ( HTTPParser parser,
HdrHeap heap,
HTTPHdrImpl hh,
const char **  start,
const char *  end,
bool  must_copy_strings,
bool  eof 
)

Variable Documentation

Definition at line 125 of file HTTP.cc.

Referenced by api_init(), and http_init().

Definition at line 126 of file HTTP.cc.

Referenced by api_init(), HttpTransact::handle_response_keep_alive_headers(), and http_init().

Definition at line 127 of file HTTP.cc.

Referenced by api_init(), and http_init().

Definition at line 128 of file HTTP.cc.

Referenced by api_init(), and http_init().

Definition at line 78 of file HTTP.cc.

Referenced by api_init(), HttpTransact::HandleBlindTunnel(), and http_init().

Definition at line 129 of file HTTP.cc.

Referenced by api_init(), and http_init().

Definition at line 79 of file HTTP.cc.

Referenced by api_init(), and http_init().

Definition at line 130 of file HTTP.cc.

Referenced by api_init(), and http_init().

Definition at line 81 of file HTTP.cc.

Referenced by api_init(), http_init(), and HttpTransact::issue_revalidate().

Definition at line 82 of file HTTP.cc.

Referenced by api_init(), and http_init().

Definition at line 131 of file HTTP.cc.

Referenced by api_init(), http_init(), and HttpTransact::perform_accept_encoding_filtering().

Definition at line 132 of file HTTP.cc.

Referenced by api_init(), and http_init().

Definition at line 133 of file HTTP.cc.

Referenced by api_init(), and http_init().

Definition at line 134 of file HTTP.cc.

Referenced by api_init(), and http_init().

Definition at line 135 of file HTTP.cc.

Referenced by api_init(), and http_init().

Definition at line 136 of file HTTP.cc.

Referenced by api_init(), and http_init().

Definition at line 146 of file HTTP.cc.

Referenced by http_init().

Definition at line 138 of file HTTP.cc.

Referenced by api_init(), and http_init().

Definition at line 139 of file HTTP.cc.

Referenced by api_init(), and http_init().

Definition at line 140 of file HTTP.cc.

Referenced by api_init(), and http_init().

Definition at line 137 of file HTTP.cc.

Referenced by api_init(), and http_init().

Definition at line 141 of file HTTP.cc.

Referenced by api_init(), and http_init().

Definition at line 83 of file HTTP.cc.

Referenced by api_init(), and http_init().

Definition at line 84 of file HTTP.cc.

Referenced by api_init(), and http_init().

Definition at line 142 of file HTTP.cc.

Referenced by api_init(), and http_init().

Definition at line 143 of file HTTP.cc.

Referenced by api_init(), and http_init().

Definition at line 144 of file HTTP.cc.

Referenced by api_init(), and http_init().

Definition at line 85 of file HTTP.cc.

Referenced by api_init(), and http_init().

Definition at line 88 of file HTTP.cc.

Referenced by api_init(), and http_init().

Definition at line 86 of file HTTP.cc.

Referenced by api_init(), and http_init().

Definition at line 145 of file HTTP.cc.

Referenced by api_init(), and http_init().

Definition at line 87 of file HTTP.cc.

Referenced by api_init(), and http_init().

const char* HTTP_METHOD_CONNECT

Definition at line 53 of file HTTP.cc.

const char* HTTP_METHOD_DELETE

Definition at line 54 of file HTTP.cc.

const char* HTTP_METHOD_GET

Definition at line 55 of file HTTP.cc.

const char* HTTP_METHOD_HEAD

Definition at line 56 of file HTTP.cc.

const char* HTTP_METHOD_ICP_QUERY

Definition at line 57 of file HTTP.cc.

const char* HTTP_METHOD_OPTIONS

Definition at line 58 of file HTTP.cc.

const char* HTTP_METHOD_POST

Definition at line 59 of file HTTP.cc.

const char* HTTP_METHOD_PURGE

Definition at line 60 of file HTTP.cc.

const char* HTTP_METHOD_PUSH

Definition at line 63 of file HTTP.cc.

const char* HTTP_METHOD_PUT

Definition at line 61 of file HTTP.cc.

const char* HTTP_METHOD_TRACE

Definition at line 62 of file HTTP.cc.

const char* HTTP_VALUE_BYTES

Definition at line 90 of file HTTP.cc.

Referenced by api_init(), and http_init().

const char* HTTP_VALUE_CHUNKED
const char* HTTP_VALUE_CLOSE

Definition at line 92 of file HTTP.cc.

Referenced by api_init(), and http_init().

const char* HTTP_VALUE_COMPRESS

Definition at line 93 of file HTTP.cc.

Referenced by api_init(), and http_init().

const char* HTTP_VALUE_DEFLATE

Definition at line 94 of file HTTP.cc.

Referenced by api_init(), and http_init().

const char* HTTP_VALUE_GZIP

Definition at line 95 of file HTTP.cc.

Referenced by api_init(), and http_init().

const char* HTTP_VALUE_IDENTITY
const char* HTTP_VALUE_KEEP_ALIVE

Definition at line 97 of file HTTP.cc.

Referenced by api_init(), and http_init().

const char* HTTP_VALUE_MAX_AGE

Definition at line 98 of file HTTP.cc.

Referenced by api_init(), and http_init().

const char* HTTP_VALUE_MAX_STALE

Definition at line 99 of file HTTP.cc.

Referenced by api_init(), and http_init().

const char* HTTP_VALUE_MIN_FRESH

Definition at line 100 of file HTTP.cc.

Referenced by api_init(), and http_init().

Definition at line 101 of file HTTP.cc.

Referenced by api_init(), HttpTransact::AuthenticationNeeded(), and http_init().

Definition at line 111 of file HTTP.cc.

Referenced by http_init().

const char* HTTP_VALUE_NO_CACHE
const char* HTTP_VALUE_NO_STORE

Definition at line 104 of file HTTP.cc.

Referenced by api_init(), HttpTransact::does_client_request_permit_storing(), and http_init().

Definition at line 105 of file HTTP.cc.

Referenced by api_init(), and http_init().

const char* HTTP_VALUE_NONE

Definition at line 102 of file HTTP.cc.

Referenced by api_init(), and http_init().

Definition at line 106 of file HTTP.cc.

Referenced by api_init(), HttpTransact::HandleCacheOpenReadMiss(), and http_init().

const char* HTTP_VALUE_PRIVATE

Definition at line 107 of file HTTP.cc.

Referenced by api_init(), and http_init().

Definition at line 108 of file HTTP.cc.

Referenced by api_init(), HttpTransact::AuthenticationNeeded(), and http_init().

const char* HTTP_VALUE_PUBLIC
const char* HTTP_VALUE_S_MAXAGE

Definition at line 110 of file HTTP.cc.

Referenced by api_init(), and http_init().

Definition at line 69 of file HTTP.cc.

Referenced by http_init(), and remap_validate_filter_args().

Definition at line 76 of file HTTP.cc.

Referenced by http_init(), and IpAllow::Print().