Data Structures | Defines | Typedefs | Enumerations | Functions | Variables

InkAPIInternal.h File Reference

Internal SDK stuff. More...

#include "P_EventSystem.h"
#include "URL.h"
#include "StatSystem.h"
#include "P_Net.h"
#include "ts.h"
#include "experimental.h"
#include "InkAPIPrivateIOCore.h"
#include "HTTP.h"
#include "List.h"
#include "ProxyConfig.h"
#include "P_Cache.h"
#include "I_Tasks.h"
Include dependency graph for InkAPIInternal.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  CacheInfo
class  FileImpl
struct  INKConfigImpl
struct  HttpAltInfo
class  APIHook
 A single API hook that can be invoked. More...
class  APIHooks
 A collection of API hooks. More...
class  FeatureAPIHooks< ID, N >
 Container for API hooks for a specific feature. More...
class  HttpAPIHooks
class  LifecycleAPIHooks
class  ConfigUpdateCallback
class  ConfigUpdateCbTable

Defines

#define HTTP_SSN_TXN_MAX_USER_ARG   16

Typedefs

typedef int8_t TSMgmtByte

Enumerations

enum  OverridableDataType {
  OVERRIDABLE_TYPE_NULL = 0, OVERRIDABLE_TYPE_INT, OVERRIDABLE_TYPE_FLOAT, OVERRIDABLE_TYPE_STRING,
  OVERRIDABLE_TYPE_BYTE
}
enum  CacheInfoMagic { CACHE_INFO_MAGIC_ALIVE = 0xfeedbabe, CACHE_INFO_MAGIC_DEAD = 0xdeadbeef }
enum  APIHookScope { API_HOOK_SCOPE_NONE, API_HOOK_SCOPE_GLOBAL, API_HOOK_SCOPE_LOCAL }

Functions

void api_init ()

Variables

HttpAPIHookshttp_global_hooks
LifecycleAPIHookslifecycle_hooks
ConfigUpdateCbTableglobal_config_cbs

Detailed Description

Internal SDK stuff.

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 InkAPIInternal.h.


Define Documentation

#define HTTP_SSN_TXN_MAX_USER_ARG   16

Typedef Documentation

typedef int8_t TSMgmtByte

Definition at line 52 of file InkAPIInternal.h.


Enumeration Type Documentation

Enumerator:
API_HOOK_SCOPE_NONE 
API_HOOK_SCOPE_GLOBAL 
API_HOOK_SCOPE_LOCAL 

Definition at line 130 of file InkAPIInternal.h.

Enumerator:
CACHE_INFO_MAGIC_ALIVE 
CACHE_INFO_MAGIC_DEAD 

Definition at line 57 of file InkAPIInternal.h.

Enumerator:
OVERRIDABLE_TYPE_NULL 
OVERRIDABLE_TYPE_INT 
OVERRIDABLE_TYPE_FLOAT 
OVERRIDABLE_TYPE_STRING 
OVERRIDABLE_TYPE_BYTE 

Definition at line 44 of file InkAPIInternal.h.


Function Documentation

void api_init (  ) 

Definition at line 1334 of file InkAPI.cc.

References appVersionInfo, Debug, 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_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, 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_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, ink_mutex_init(), ink_strlcpy(), MIME_FIELD_ACCEPT, MIME_FIELD_ACCEPT_CHARSET, MIME_FIELD_ACCEPT_ENCODING, MIME_FIELD_ACCEPT_LANGUAGE, MIME_FIELD_ACCEPT_RANGES, MIME_FIELD_AGE, MIME_FIELD_ALLOW, MIME_FIELD_APPROVED, MIME_FIELD_AUTHORIZATION, MIME_FIELD_BYTES, MIME_FIELD_CACHE_CONTROL, MIME_FIELD_CLIENT_IP, MIME_FIELD_CONNECTION, MIME_FIELD_CONTENT_BASE, MIME_FIELD_CONTENT_ENCODING, MIME_FIELD_CONTENT_LANGUAGE, MIME_FIELD_CONTENT_LENGTH, MIME_FIELD_CONTENT_LOCATION, MIME_FIELD_CONTENT_MD5, MIME_FIELD_CONTENT_RANGE, MIME_FIELD_CONTENT_TYPE, MIME_FIELD_CONTROL, MIME_FIELD_COOKIE, MIME_FIELD_DATE, MIME_FIELD_DISTRIBUTION, MIME_FIELD_ETAG, MIME_FIELD_EXPECT, MIME_FIELD_EXPIRES, MIME_FIELD_FOLLOWUP_TO, MIME_FIELD_FROM, MIME_FIELD_HOST, MIME_FIELD_IF_MATCH, MIME_FIELD_IF_MODIFIED_SINCE, MIME_FIELD_IF_NONE_MATCH, MIME_FIELD_IF_RANGE, MIME_FIELD_IF_UNMODIFIED_SINCE, MIME_FIELD_KEEP_ALIVE, MIME_FIELD_KEYWORDS, MIME_FIELD_LAST_MODIFIED, MIME_FIELD_LINES, MIME_FIELD_LOCATION, MIME_FIELD_MAX_FORWARDS, MIME_FIELD_MESSAGE_ID, MIME_FIELD_NEWSGROUPS, MIME_FIELD_ORGANIZATION, MIME_FIELD_PATH, MIME_FIELD_PRAGMA, MIME_FIELD_PROXY_AUTHENTICATE, MIME_FIELD_PROXY_AUTHORIZATION, MIME_FIELD_PROXY_CONNECTION, MIME_FIELD_PUBLIC, MIME_FIELD_RANGE, MIME_FIELD_REFERENCES, MIME_FIELD_REFERER, MIME_FIELD_REPLY_TO, MIME_FIELD_RETRY_AFTER, MIME_FIELD_SENDER, MIME_FIELD_SERVER, MIME_FIELD_SET_COOKIE, MIME_FIELD_STRICT_TRANSPORT_SECURITY, MIME_FIELD_SUBJECT, MIME_FIELD_SUMMARY, MIME_FIELD_TE, MIME_FIELD_TRANSFER_ENCODING, MIME_FIELD_UPGRADE, MIME_FIELD_USER_AGENT, MIME_FIELD_VARY, MIME_FIELD_VIA, MIME_FIELD_WARNING, MIME_FIELD_WWW_AUTHENTICATE, MIME_FIELD_X_FORWARDED_FOR, MIME_FIELD_XREF, MIME_LEN_ACCEPT, MIME_LEN_ACCEPT_CHARSET, MIME_LEN_ACCEPT_ENCODING, MIME_LEN_ACCEPT_LANGUAGE, MIME_LEN_ACCEPT_RANGES, MIME_LEN_AGE, MIME_LEN_ALLOW, MIME_LEN_APPROVED, MIME_LEN_AUTHORIZATION, MIME_LEN_BYTES, MIME_LEN_CACHE_CONTROL, MIME_LEN_CLIENT_IP, MIME_LEN_CONNECTION, MIME_LEN_CONTENT_BASE, MIME_LEN_CONTENT_ENCODING, MIME_LEN_CONTENT_LANGUAGE, MIME_LEN_CONTENT_LENGTH, MIME_LEN_CONTENT_LOCATION, MIME_LEN_CONTENT_MD5, MIME_LEN_CONTENT_RANGE, MIME_LEN_CONTENT_TYPE, MIME_LEN_CONTROL, MIME_LEN_COOKIE, MIME_LEN_DATE, MIME_LEN_DISTRIBUTION, MIME_LEN_ETAG, MIME_LEN_EXPECT, MIME_LEN_EXPIRES, MIME_LEN_FOLLOWUP_TO, MIME_LEN_FROM, MIME_LEN_HOST, MIME_LEN_IF_MATCH, MIME_LEN_IF_MODIFIED_SINCE, MIME_LEN_IF_NONE_MATCH, MIME_LEN_IF_RANGE, MIME_LEN_IF_UNMODIFIED_SINCE, MIME_LEN_KEEP_ALIVE, MIME_LEN_KEYWORDS, MIME_LEN_LAST_MODIFIED, MIME_LEN_LINES, MIME_LEN_LOCATION, MIME_LEN_MAX_FORWARDS, MIME_LEN_MESSAGE_ID, MIME_LEN_NEWSGROUPS, MIME_LEN_ORGANIZATION, MIME_LEN_PATH, MIME_LEN_PRAGMA, MIME_LEN_PROXY_AUTHENTICATE, MIME_LEN_PROXY_AUTHORIZATION, MIME_LEN_PROXY_CONNECTION, MIME_LEN_PUBLIC, MIME_LEN_RANGE, MIME_LEN_REFERENCES, MIME_LEN_REFERER, MIME_LEN_REPLY_TO, MIME_LEN_RETRY_AFTER, MIME_LEN_SENDER, MIME_LEN_SERVER, MIME_LEN_SET_COOKIE, MIME_LEN_STRICT_TRANSPORT_SECURITY, MIME_LEN_SUBJECT, MIME_LEN_SUMMARY, MIME_LEN_TE, MIME_LEN_TRANSFER_ENCODING, MIME_LEN_UPGRADE, MIME_LEN_USER_AGENT, MIME_LEN_VARY, MIME_LEN_VIA, MIME_LEN_WARNING, MIME_LEN_WWW_AUTHENTICATE, MIME_LEN_X_FORWARDED_FOR, MIME_LEN_XREF, RecAllocateRawStatBlock(), state_arg_table, traffic_server_version, TS_HTTP_LEN_BYTES, TS_HTTP_LEN_CHUNKED, TS_HTTP_LEN_CLOSE, TS_HTTP_LEN_COMPRESS, TS_HTTP_LEN_CONNECT, TS_HTTP_LEN_DEFLATE, TS_HTTP_LEN_DELETE, TS_HTTP_LEN_GET, TS_HTTP_LEN_GZIP, TS_HTTP_LEN_HEAD, TS_HTTP_LEN_ICP_QUERY, TS_HTTP_LEN_IDENTITY, TS_HTTP_LEN_KEEP_ALIVE, TS_HTTP_LEN_MAX_AGE, TS_HTTP_LEN_MAX_STALE, TS_HTTP_LEN_MIN_FRESH, TS_HTTP_LEN_MUST_REVALIDATE, TS_HTTP_LEN_NO_CACHE, TS_HTTP_LEN_NO_STORE, TS_HTTP_LEN_NO_TRANSFORM, TS_HTTP_LEN_NONE, TS_HTTP_LEN_ONLY_IF_CACHED, TS_HTTP_LEN_OPTIONS, TS_HTTP_LEN_POST, TS_HTTP_LEN_PRIVATE, TS_HTTP_LEN_PROXY_REVALIDATE, TS_HTTP_LEN_PUBLIC, TS_HTTP_LEN_PURGE, TS_HTTP_LEN_PUSH, TS_HTTP_LEN_PUT, TS_HTTP_LEN_S_MAXAGE, TS_HTTP_LEN_TRACE, TS_HTTP_METHOD_CONNECT, TS_HTTP_METHOD_DELETE, TS_HTTP_METHOD_GET, TS_HTTP_METHOD_HEAD, TS_HTTP_METHOD_ICP_QUERY, TS_HTTP_METHOD_OPTIONS, TS_HTTP_METHOD_POST, TS_HTTP_METHOD_PURGE, TS_HTTP_METHOD_PUSH, TS_HTTP_METHOD_PUT, TS_HTTP_METHOD_TRACE, TS_HTTP_VALUE_BYTES, TS_HTTP_VALUE_CHUNKED, TS_HTTP_VALUE_CLOSE, TS_HTTP_VALUE_COMPRESS, TS_HTTP_VALUE_DEFLATE, TS_HTTP_VALUE_GZIP, TS_HTTP_VALUE_IDENTITY, TS_HTTP_VALUE_KEEP_ALIVE, TS_HTTP_VALUE_MAX_AGE, TS_HTTP_VALUE_MAX_STALE, TS_HTTP_VALUE_MIN_FRESH, TS_HTTP_VALUE_MUST_REVALIDATE, TS_HTTP_VALUE_NO_CACHE, TS_HTTP_VALUE_NO_STORE, TS_HTTP_VALUE_NO_TRANSFORM, TS_HTTP_VALUE_NONE, TS_HTTP_VALUE_ONLY_IF_CACHED, TS_HTTP_VALUE_PRIVATE, TS_HTTP_VALUE_PROXY_REVALIDATE, TS_HTTP_VALUE_PUBLIC, TS_HTTP_VALUE_S_MAXAGE, ts_major_version, TS_MAX_API_STATS, TS_MIME_FIELD_ACCEPT, TS_MIME_FIELD_ACCEPT_CHARSET, TS_MIME_FIELD_ACCEPT_ENCODING, TS_MIME_FIELD_ACCEPT_LANGUAGE, TS_MIME_FIELD_ACCEPT_RANGES, TS_MIME_FIELD_AGE, TS_MIME_FIELD_ALLOW, TS_MIME_FIELD_APPROVED, TS_MIME_FIELD_AUTHORIZATION, TS_MIME_FIELD_BYTES, TS_MIME_FIELD_CACHE_CONTROL, TS_MIME_FIELD_CLIENT_IP, TS_MIME_FIELD_CONNECTION, TS_MIME_FIELD_CONTENT_BASE, TS_MIME_FIELD_CONTENT_ENCODING, TS_MIME_FIELD_CONTENT_LANGUAGE, TS_MIME_FIELD_CONTENT_LENGTH, TS_MIME_FIELD_CONTENT_LOCATION, TS_MIME_FIELD_CONTENT_MD5, TS_MIME_FIELD_CONTENT_RANGE, TS_MIME_FIELD_CONTENT_TYPE, TS_MIME_FIELD_CONTROL, TS_MIME_FIELD_COOKIE, TS_MIME_FIELD_DATE, TS_MIME_FIELD_DISTRIBUTION, TS_MIME_FIELD_ETAG, TS_MIME_FIELD_EXPECT, TS_MIME_FIELD_EXPIRES, TS_MIME_FIELD_FOLLOWUP_TO, TS_MIME_FIELD_FROM, TS_MIME_FIELD_HOST, TS_MIME_FIELD_IF_MATCH, TS_MIME_FIELD_IF_MODIFIED_SINCE, TS_MIME_FIELD_IF_NONE_MATCH, TS_MIME_FIELD_IF_RANGE, TS_MIME_FIELD_IF_UNMODIFIED_SINCE, TS_MIME_FIELD_KEEP_ALIVE, TS_MIME_FIELD_KEYWORDS, TS_MIME_FIELD_LAST_MODIFIED, TS_MIME_FIELD_LINES, TS_MIME_FIELD_LOCATION, TS_MIME_FIELD_MAX_FORWARDS, TS_MIME_FIELD_MESSAGE_ID, TS_MIME_FIELD_NEWSGROUPS, TS_MIME_FIELD_ORGANIZATION, TS_MIME_FIELD_PATH, TS_MIME_FIELD_PRAGMA, TS_MIME_FIELD_PROXY_AUTHENTICATE, TS_MIME_FIELD_PROXY_AUTHORIZATION, TS_MIME_FIELD_PROXY_CONNECTION, TS_MIME_FIELD_PUBLIC, TS_MIME_FIELD_RANGE, TS_MIME_FIELD_REFERENCES, TS_MIME_FIELD_REFERER, TS_MIME_FIELD_REPLY_TO, TS_MIME_FIELD_RETRY_AFTER, TS_MIME_FIELD_SENDER, TS_MIME_FIELD_SERVER, TS_MIME_FIELD_SET_COOKIE, TS_MIME_FIELD_STRICT_TRANSPORT_SECURITY, TS_MIME_FIELD_SUBJECT, TS_MIME_FIELD_SUMMARY, TS_MIME_FIELD_TE, TS_MIME_FIELD_TRANSFER_ENCODING, TS_MIME_FIELD_UPGRADE, TS_MIME_FIELD_USER_AGENT, TS_MIME_FIELD_VARY, TS_MIME_FIELD_VIA, TS_MIME_FIELD_WARNING, TS_MIME_FIELD_WWW_AUTHENTICATE, TS_MIME_FIELD_X_FORWARDED_FOR, TS_MIME_FIELD_XREF, TS_MIME_LEN_ACCEPT, TS_MIME_LEN_ACCEPT_CHARSET, TS_MIME_LEN_ACCEPT_ENCODING, TS_MIME_LEN_ACCEPT_LANGUAGE, TS_MIME_LEN_ACCEPT_RANGES, TS_MIME_LEN_AGE, TS_MIME_LEN_ALLOW, TS_MIME_LEN_APPROVED, TS_MIME_LEN_AUTHORIZATION, TS_MIME_LEN_BYTES, TS_MIME_LEN_CACHE_CONTROL, TS_MIME_LEN_CLIENT_IP, TS_MIME_LEN_CONNECTION, TS_MIME_LEN_CONTENT_BASE, TS_MIME_LEN_CONTENT_ENCODING, TS_MIME_LEN_CONTENT_LANGUAGE, TS_MIME_LEN_CONTENT_LENGTH, TS_MIME_LEN_CONTENT_LOCATION, TS_MIME_LEN_CONTENT_MD5, TS_MIME_LEN_CONTENT_RANGE, TS_MIME_LEN_CONTENT_TYPE, TS_MIME_LEN_CONTROL, TS_MIME_LEN_COOKIE, TS_MIME_LEN_DATE, TS_MIME_LEN_DISTRIBUTION, TS_MIME_LEN_ETAG, TS_MIME_LEN_EXPECT, TS_MIME_LEN_EXPIRES, TS_MIME_LEN_FOLLOWUP_TO, TS_MIME_LEN_FROM, TS_MIME_LEN_HOST, TS_MIME_LEN_IF_MATCH, TS_MIME_LEN_IF_MODIFIED_SINCE, TS_MIME_LEN_IF_NONE_MATCH, TS_MIME_LEN_IF_RANGE, TS_MIME_LEN_IF_UNMODIFIED_SINCE, TS_MIME_LEN_KEEP_ALIVE, TS_MIME_LEN_KEYWORDS, TS_MIME_LEN_LAST_MODIFIED, TS_MIME_LEN_LINES, TS_MIME_LEN_LOCATION, TS_MIME_LEN_MAX_FORWARDS, TS_MIME_LEN_MESSAGE_ID, TS_MIME_LEN_NEWSGROUPS, TS_MIME_LEN_ORGANIZATION, TS_MIME_LEN_PATH, TS_MIME_LEN_PRAGMA, TS_MIME_LEN_PROXY_AUTHENTICATE, TS_MIME_LEN_PROXY_AUTHORIZATION, TS_MIME_LEN_PROXY_CONNECTION, TS_MIME_LEN_PUBLIC, TS_MIME_LEN_RANGE, TS_MIME_LEN_REFERENCES, TS_MIME_LEN_REFERER, TS_MIME_LEN_REPLY_TO, TS_MIME_LEN_RETRY_AFTER, TS_MIME_LEN_SENDER, TS_MIME_LEN_SERVER, TS_MIME_LEN_SET_COOKIE, TS_MIME_LEN_STRICT_TRANSPORT_SECURITY, TS_MIME_LEN_SUBJECT, TS_MIME_LEN_SUMMARY, TS_MIME_LEN_TE, TS_MIME_LEN_TRANSFER_ENCODING, TS_MIME_LEN_UPGRADE, TS_MIME_LEN_USER_AGENT, TS_MIME_LEN_VARY, TS_MIME_LEN_VIA, TS_MIME_LEN_WARNING, TS_MIME_LEN_WWW_AUTHENTICATE, TS_MIME_LEN_X_FORWARDED_FOR, TS_MIME_LEN_XREF, ts_minor_version, ts_patch_version, TS_URL_LEN_FILE, TS_URL_LEN_FTP, TS_URL_LEN_GOPHER, TS_URL_LEN_HTTP, TS_URL_LEN_HTTPS, TS_URL_LEN_MAILTO, TS_URL_LEN_NEWS, TS_URL_LEN_NNTP, TS_URL_LEN_PROSPERO, TS_URL_LEN_TELNET, TS_URL_LEN_WAIS, TS_URL_SCHEME_FILE, TS_URL_SCHEME_FTP, TS_URL_SCHEME_GOPHER, TS_URL_SCHEME_HTTP, TS_URL_SCHEME_HTTPS, TS_URL_SCHEME_MAILTO, TS_URL_SCHEME_NEWS, TS_URL_SCHEME_NNTP, TS_URL_SCHEME_PROSPERO, TS_URL_SCHEME_TELNET, TS_URL_SCHEME_WAIS, URL_LEN_FILE, URL_LEN_FTP, URL_LEN_GOPHER, URL_LEN_HTTP, URL_LEN_HTTPS, URL_LEN_MAILTO, URL_LEN_NEWS, URL_LEN_NNTP, URL_LEN_PROSPERO, URL_LEN_TELNET, URL_LEN_WAIS, URL_SCHEME_FILE, URL_SCHEME_FTP, URL_SCHEME_GOPHER, URL_SCHEME_HTTP, URL_SCHEME_HTTPS, URL_SCHEME_MAILTO, URL_SCHEME_NEWS, URL_SCHEME_NNTP, URL_SCHEME_PROSPERO, URL_SCHEME_TELNET, URL_SCHEME_WAIS, AppVersionInfo::VersionStr, and Warning.

Referenced by plugin_init().


Variable Documentation

Definition at line 367 of file InkAPI.cc.

Referenced by main().

Definition at line 366 of file InkAPI.cc.

Referenced by CB_After_Cache_Init(), init_ssl_ctx_callback(), main(), and start_HttpProxyServer().