/** * Copyright (C) Zhang,Yuexiang (xfeep) * */ package nginx.clojure; import java.nio.charset.Charset; import java.util.HashMap; import java.util.Map; /** * Mini constants needed Nginx-Clojure Basic Platform * @author Zhang,Yuexiang (xfeep) * */ public class MiniConstants { /** * Ring Spec (1.1) Strings : https://github.com/ring-clojure/ring/blob/master/SPEC */ public static final String SERVER_PORT = "server-port"; public static final String SERVER_NAME = "server-name"; public static final String REMOTE_ADDR = "remote-addr"; public static final String URI = "uri"; public static final String QUERY_STRING = "query-string"; public static final String SCHEME = "scheme"; public static final String REQUEST_METHOD = "request-method"; public static final String CONTENT_TYPE = "content-type"; public static final String CHARACTER_ENCODING = "character-encoding"; public static final String SSL_CLIENT_CERT = "ssl-client-cert"; public static final String HEADERS = "headers"; public static final String BODY = "body"; /** * HTTP methods * */ public static final String UNKNOWN = "UNKNOWN"; public static final String GET = "get"; public static final String HEAD = "head"; public static final String POST = "post"; public static final String PUT = "put"; public static final String DELETE = "delete"; public static final String MKCOL = "mkcol"; public static final String COPY = "copy"; public static final String MOVE = "move"; public static final String OPTIONS = "options"; public static final String PROPFIND = "propfind"; public static final String PROPPATCH = "proppatch"; public static final String LOCK = "lock"; public static final String UNLOCK = "unlock"; public static final String PATCH = "patch"; public static final String TRACE = "trace"; public static final String[] HTTP_METHODS = { UNKNOWN, GET, HEAD, POST, PUT, DELETE, MKCOL, COPY, MOVE, OPTIONS, PROPFIND, PROPPATCH, LOCK, UNLOCK, PATCH, TRACE }; public static Map<String, NginxHeaderHolder> KNOWN_REQ_HEADERS = new CaseInsensitiveMap<NginxHeaderHolder>(); public static Map<String, NginxHeaderHolder> KNOWN_RESP_HEADERS = new CaseInsensitiveMap<NginxHeaderHolder>(); public static NginxHeaderHolder RESP_CONTENT_TYPE_HOLDER; public static Map<String, Long> MIME_TYPES = new HashMap<String, Long>(); public static Map<String, Long> CORE_VARS = new CaseInsensitiveMap<Long>(); public static Map<String, Long> HEADERS_NAMES = new CaseInsensitiveMap<Long>(); public static final String STATUS_STR = "status"; // public static final String BODY = RT.keyword(null, "body"); // public static final String HEADERS = RT.keyword(null, "headers"); public static final String DEFAULT_ENCODING_STR = "utf-8"; public static final Charset DEFAULT_ENCODING = Charset.forName(DEFAULT_ENCODING_STR); public static final int NGX_CLOJURE_BUF_LAST_OF_NONE = 0; public static final int NGX_CLOJURE_BUF_LAST_OF_CHAIN = 1; public static final int NGX_CLOJURE_BUF_LAST_OF_RESPONSE = 2; public static final int NGX_CHAIN_FILTER_CHUNK_NO_LAST = -1; public static final int NGX_CHAIN_FILTER_CHUNK_HAS_LAST = -2; public static final int NGX_CLOJURE_BUF_LAST_FLAG = 0x01; public static final int NGX_CLOJURE_BUF_FLUSH_FLAG = 0x02; public static final int NGX_CLOJURE_BUF_IGNORE_FILTER_FLAG = 0x04; public static final int NGX_CLOJURE_BUF_FILE_FLAG = 0x08; public static final int NGX_CLOJURE_BUF_MEM_FLAG = 0x10; /** * this constant hints whether we send java.lang.String or bytes (byte[], ByteBuffer) from app level */ public static final int NGX_CLOJURE_BUF_APP_MSGTXT = 0x08; /** * System Event : 0x00 ~ 0x1f * App Event : 0x20 ~ 0xff * Simple Event : 0x00 ~ 0x7f, only event id (7Byte), no message body * Complex Event : 0x80 ~ 0xff */ public static final int POST_EVENT_TYPE_SYSTEM_EVENT_IDX_START = 0; public static final int POST_EVENT_TYPE_HANDLE_RESPONSE = 0; public static final int POST_EVENT_TYPE_CLOSE_SOCKET = 0x01; public static final int POST_EVENT_TYPE_HIJACK_SEND = 0x02; public static final int POST_EVENT_TYPE_HIJACK_SEND_HEADER = 0x03; public static final int POST_EVENT_TYPE_HIJACK_SEND_RESPONSE = 0x04; public static final int POST_EVENT_TYPE_HIJACK_WRITE = 0x05; public static final int POST_EVENT_TYPE_PUB = 0x1e; public static final int POST_EVENT_TYPE_POLL_TASK = 0x1f; public static final int POST_EVENT_TYPE_SYSTEM_EVENT_IDX_END = 0x1f; public static final int POST_EVENT_TYPE_APPICATION_EVENT_IDX_START = 0x20; public static final int POST_EVENT_TYPE_COMPLEX_EVENT_IDX_START = 0x80; public static final int POST_EVENT_TYPE_COMPLEX_EVENT_IDX_END = 0xff; public static int BYTE_ARRAY_OFFSET; public static long STRING_CHAR_ARRAY_OFFSET; public static long STRING_OFFSET_OFFSET; public static final int NGX_HTTP_CLOJURE_GET_HEADER_FLAG_HEADERS_OUT = 1; public static final int NGX_HTTP_CLOJURE_GET_HEADER_FLAG_MERGE_KEY = 2; /*Thess consts won't be final until we think they are really stable. * So that it can avoid some java compiler just use literal integer to replace where it is used.*/ public static int NGX_HTTP_CLOJURE_MEM_IDX_START = 0; /* index for size of ngx_uint_t */ public static int NGX_HTTP_CLOJURE_UINT_SIZE_IDX = 0; public static long NGX_HTTP_CLOJURE_UINT_SIZE; public static int NGX_HTTP_CLOJURE_PTR_SIZE_IDX = 1; public static long NGX_HTTP_CLOJURE_PTR_SIZE; public static int NGX_HTTP_CLOJURE_SIZET_SIZE_IDX = 2; public static long NGX_HTTP_CLOJURE_SIZET_SIZE; public static int NGX_HTTP_CLOJURE_OFFT_SIZE_IDX = 3; public static long NGX_HTTP_CLOJURE_OFFT_SIZE; public static int NGX_HTTP_CLOJURE_BUFFER_SIZE_IDX = 4; public static long NGX_HTTP_CLOJURE_BUFFER_SIZE; /* index for size of ngx_str_t */ public static int NGX_HTTP_CLOJURE_STR_SIZE_IDX = 8; public static long NGX_HTTP_CLOJURE_STR_SIZE; /* field offset index for ngx_str_t */ public static int NGX_HTTP_CLOJURE_STR_LEN_IDX = 9; public static long NGX_HTTP_CLOJURE_STR_LEN_OFFSET; public static int NGX_HTTP_CLOJURE_STR_DATA_IDX = 10; public static long NGX_HTTP_CLOJURE_STR_DATA_OFFSET; /* index for size of ngx_table_elt_t */ public static int NGX_HTTP_CLOJURE_TELT_SIZE_IDX = 11; public static long NGX_HTTP_CLOJURE_TELT_SIZE; /* field offset index for ngx_table_elt_t */ public static int NGX_HTTP_CLOJURE_TEL_HASH_IDX = 12; public static long NGX_HTTP_CLOJURE_TEL_HASH_OFFSET; public static int NGX_HTTP_CLOJURE_TEL_KEY_IDX = 13; public static long NGX_HTTP_CLOJURE_TEL_KEY_OFFSET; public static int NGX_HTTP_CLOJURE_TEL_VALUE_IDX = 14; public static long NGX_HTTP_CLOJURE_TEL_VALUE_OFFSET; public static int NGX_HTTP_CLOJURE_TEL_LOWCASE_KEY_IDX = 15; public static long NGX_HTTP_CLOJURE_TEL_LOWCASE_KEY_OFFSET; public static int NGX_HTTP_CLOJURE_CHAINT_SIZE_IDX = 16; public static long NGX_HTTP_CLOJURE_CHAINT_SIZE; public static int NGX_HTTP_CLOJURE_CHAIN_BUF_IDX = 17; public static long NGX_HTTP_CLOJURE_CHAIN_BUF_OFFSET; public static int NGX_HTTP_CLOJURE_CHAIN_NEXT_IDX = 18; public static long NGX_HTTP_CLOJURE_CHAIN_NEXT_OFFSET; public static int NGX_HTTP_CLOJURE_VARIABLET_SIZE_IDX = 19; public static long NGX_HTTP_CLOJURE_VARIABLET_SIZE; public static int NGX_HTTP_CLOJURE_CORE_VARIABLES_ADDR_IDX = 20; public static long NGX_HTTP_CLOJURE_CORE_VARIABLES_ADDR; public static int NGX_HTTP_CLOJURE_HEADERS_NAMES_ADDR_IDX = 21; public static long NGX_HTTP_CLOJURE_HEADERS_NAMES_ADDR; public static int NGX_HTTP_CLOJURE_ARRAYT_SIZE_IDX = 22; public static long NGX_HTTP_CLOJURE_ARRAYT_SIZE; public static int NGX_HTTP_CLOJURE_ARRAY_ELTS_IDX = 23; public static long NGX_HTTP_CLOJURE_ARRAY_ELTS_OFFSET; public static int NGX_HTTP_CLOJURE_ARRAY_NELTS_IDX = 24; public static long NGX_HTTP_CLOJURE_ARRAY_NELTS_OFFSET; public static int NGX_HTTP_CLOJURE_ARRAY_SIZE_IDX = 25; public static long NGX_HTTP_CLOJURE_ARRAY_SIZE_OFFSET; public static int NGX_HTTP_CLOJURE_ARRAY_NALLOC_IDX = 26; public static long NGX_HTTP_CLOJURE_ARRAY_NALLOC_OFFSET; public static int NGX_HTTP_CLOJURE_ARRAY_POOL_IDX = 27; public static long NGX_HTTP_CLOJURE_ARRAY_POOL_OFFSET; public static int NGX_HTTP_CLOJURE_KEYVALT_SIZE_IDX = 28; public static long NGX_HTTP_CLOJURE_KEYVALT_SIZE; public static int NGX_HTTP_CLOJURE_KEYVALT_KEY_IDX = 29; public static long NGX_HTTP_CLOJURE_KEYVALT_KEY_OFFSET; public static int NGX_HTTP_CLOJURE_KEYVALT_VALUE_IDX = 30; public static long NGX_HTTP_CLOJURE_KEYVALT_VALUE_OFFSET; /* index for size of ngx_http_request_t */ public static int NGX_HTTP_CLOJURE_REQT_SIZE_IDX = 32; public static long NGX_HTTP_CLOJURE_REQT_SIZE; /* field offset index for ngx_http_request_t */ public static int NGX_HTTP_CLOJURE_REQ_METHOD_IDX = 33; public static long NGX_HTTP_CLOJURE_REQ_METHOD_OFFSET; public static int NGX_HTTP_CLOJURE_REQ_URI_IDX = 34; public static long NGX_HTTP_CLOJURE_REQ_URI_OFFSET; public static int NGX_HTTP_CLOJURE_REQ_ARGS_IDX = 35; public static long NGX_HTTP_CLOJURE_REQ_ARGS_OFFSET; public static int NGX_HTTP_CLOJURE_REQ_HEADERS_IN_IDX = 36; public static long NGX_HTTP_CLOJURE_REQ_HEADERS_IN_OFFSET; public static int NGX_HTTP_CLOJURE_REQ_POOL_IDX = 37; public static long NGX_HTTP_CLOJURE_REQ_POOL_OFFSET; public static int NGX_HTTP_CLOJURE_REQ_HEADERS_OUT_IDX = 38; public static long NGX_HTTP_CLOJURE_REQ_HEADERS_OUT_OFFSET; public static int NGX_HTTP_CLOJURE_MIME_TYPES_ADDR_IDX = 63; public static long NGX_HTTP_CLOJURE_MIME_TYPES_ADDR; /*index for size of ngx_http_headers_in_t */ public static int NGX_HTTP_CLOJURE_HEADERSIT_SIZE_IDX = 64; public static long NGX_HTTP_CLOJURE_HEADERSIT_SIZE; /*field offset index for ngx_http_headers_in_t*/ public static int NGX_HTTP_CLOJURE_HEADERSI_HOST_IDX = 65; public static long NGX_HTTP_CLOJURE_HEADERSI_HOST_OFFSET; public static int NGX_HTTP_CLOJURE_HEADERSI_CONNECTION_IDX = 66; public static long NGX_HTTP_CLOJURE_HEADERSI_CONNECTION_OFFSET; public static int NGX_HTTP_CLOJURE_HEADERSI_IF_MODIFIED_SINCE_IDX = 67; public static long NGX_HTTP_CLOJURE_HEADERSI_IF_MODIFIED_SINCE_OFFSET; public static int NGX_HTTP_CLOJURE_HEADERSI_IF_UNMODIFIED_SINCE_IDX = 68; public static long NGX_HTTP_CLOJURE_HEADERSI_IF_UNMODIFIED_SINCE_OFFSET; public static int NGX_HTTP_CLOJURE_HEADERSI_USER_AGENT_IDX = 69; public static long NGX_HTTP_CLOJURE_HEADERSI_USER_AGENT_OFFSET; public static int NGX_HTTP_CLOJURE_HEADERSI_REFERER_IDX = 70; public static long NGX_HTTP_CLOJURE_HEADERSI_REFERER_OFFSET; public static int NGX_HTTP_CLOJURE_HEADERSI_CONTENT_LENGTH_IDX = 71; public static long NGX_HTTP_CLOJURE_HEADERSI_CONTENT_LENGTH_OFFSET; public static int NGX_HTTP_CLOJURE_HEADERSI_CONTENT_TYPE_IDX = 72; public static long NGX_HTTP_CLOJURE_HEADERSI_CONTENT_TYPE_OFFSET; public static int NGX_HTTP_CLOJURE_HEADERSI_RANGE_IDX = 73; public static long NGX_HTTP_CLOJURE_HEADERSI_RANGE_OFFSET ; public static int NGX_HTTP_CLOJURE_HEADERSI_IF_RANGE_IDX = 74; public static long NGX_HTTP_CLOJURE_HEADERSI_IF_RANGE_OFFSET; public static int NGX_HTTP_CLOJURE_HEADERSI_TRANSFER_ENCODING_IDX = 75; public static long NGX_HTTP_CLOJURE_HEADERSI_TRANSFER_ENCODING_OFFSET; public static int NGX_HTTP_CLOJURE_HEADERSI_EXPECT_IDX = 76; public static long NGX_HTTP_CLOJURE_HEADERSI_EXPECT_OFFSET; //#if (NGX_HTTP_GZIP) public static int NGX_HTTP_CLOJURE_HEADERSI_ACCEPT_ENCODING_IDX = 77; public static long NGX_HTTP_CLOJURE_HEADERSI_ACCEPT_ENCODING_OFFSET; public static int NGX_HTTP_CLOJURE_HEADERSI_VIA_IDX = 78; public static long NGX_HTTP_CLOJURE_HEADERSI_VIA_OFFSET; //#endif public static int NGX_HTTP_CLOJURE_HEADERSI_AUTHORIZATION_IDX = 79; public static long NGX_HTTP_CLOJURE_HEADERSI_AUTHORIZATION_OFFSET; public static int NGX_HTTP_CLOJURE_HEADERSI_KEEP_ALIVE_IDX = 80; public static long NGX_HTTP_CLOJURE_HEADERSI_KEEP_ALIVE_OFFSET ; //#if (NGX_HTTP_PROXY || NGX_HTTP_REALIP || NGX_HTTP_GEO) public static int NGX_HTTP_CLOJURE_HEADERSI_X_FORWARDED_FOR_IDX = 81; public static long NGX_HTTP_CLOJURE_HEADERSI_X_FORWARDED_FOR_OFFSET ; //#endif //#if (NGX_HTTP_REALIP) public static int NGX_HTTP_CLOJURE_HEADERSI_X_REAL_IP_IDX = 82; public static long NGX_HTTP_CLOJURE_HEADERSI_X_REAL_IP_OFFSET; //#endif //#if (NGX_HTTP_HEADERS) public static int NGX_HTTP_CLOJURE_HEADERSI_ACCEPT_IDX = 83; public static long NGX_HTTP_CLOJURE_HEADERSI_ACCEPT_OFFSET; public static int NGX_HTTP_CLOJURE_HEADERSI_ACCEPT_LANGUAGE_IDX = 84; public static long NGX_HTTP_CLOJURE_HEADERSI_ACCEPT_LANGUAGE_OFFSET; //#endif //#if (NGX_HTTP_DAV) public static int NGX_HTTP_CLOJURE_HEADERSI_DEPTH_IDX = 85; public static long NGX_HTTP_CLOJURE_HEADERSI_DEPTH_OFFSET; public static int NGX_HTTP_CLOJURE_HEADERSI_DESTINATION_IDX = 86; public static long NGX_HTTP_CLOJURE_HEADERSI_DESTINATION_OFFSET ; public static int NGX_HTTP_CLOJURE_HEADERSI_OVERWRITE_IDX = 87; public static long NGX_HTTP_CLOJURE_HEADERSI_OVERWRITE_OFFSET; public static int NGX_HTTP_CLOJURE_HEADERSI_DATE_IDX = 88; public static long NGX_HTTP_CLOJURE_HEADERSI_DATE_OFFSET ; //#endif public static int NGX_HTTP_CLOJURE_HEADERSI_USER_IDX = 89; public static long NGX_HTTP_CLOJURE_HEADERSI_USER_OFFSET ; public static int NGX_HTTP_CLOJURE_HEADERSI_PASSWD_IDX = 90; public static long NGX_HTTP_CLOJURE_HEADERSI_PASSWD_OFFSET ; public static int NGX_HTTP_CLOJURE_HEADERSI_COOKIE_IDX = 91; public static long NGX_HTTP_CLOJURE_HEADERSI_COOKIE_OFFSET ; public static int NGX_HTTP_CLOJURE_HEADERSI_SERVER_IDX = 92; public static long NGX_HTTP_CLOJURE_HEADERSI_SERVER_OFFSET ; public static int NGX_HTTP_CLOJURE_HEADERSI_CONTENT_LENGTH_N_IDX = 93; public static long NGX_HTTP_CLOJURE_HEADERSI_CONTENT_LENGTH_N_OFFSET ; public static int NGX_HTTP_CLOJURE_HEADERSI_KEEP_ALIVE_N_IDX = 94; public static long NGX_HTTP_CLOJURE_HEADERSI_KEEP_ALIVE_N_OFFSET ; public static int NGX_HTTP_CLOJURE_HEADERSI_HEADERS_IDX = 95; public static long NGX_HTTP_CLOJURE_HEADERSI_HEADERS_OFFSET ; /*index for size of ngx_http_headers_out_t */ public static int NGX_HTTP_CLOJURE_HEADERSOT_SIZE_IDX = 128; public static long NGX_HTTP_CLOJURE_HEADERSOT_SIZE; /*field offset index for ngx_http_headers_out_t*/ public static int NGX_HTTP_CLOJURE_HEADERSO_STATUS_IDX = 129; public static long NGX_HTTP_CLOJURE_HEADERSO_STATUS_OFFSET; public static int NGX_HTTP_CLOJURE_HEADERSO_STATUS_LINE_IDX = 130; public static long NGX_HTTP_CLOJURE_HEADERSO_STATUS_LINE_OFFSET; public static int NGX_HTTP_CLOJURE_HEADERSO_SERVER_IDX = 131; public static long NGX_HTTP_CLOJURE_HEADERSO_SERVER_OFFSET; public static int NGX_HTTP_CLOJURE_HEADERSO_DATE_IDX = 132; public static long NGX_HTTP_CLOJURE_HEADERSO_DATE_OFFSET; public static int NGX_HTTP_CLOJURE_HEADERSO_CONTENT_LENGTH_IDX = 133; public static long NGX_HTTP_CLOJURE_HEADERSO_CONTENT_LENGTH_OFFSET; public static int NGX_HTTP_CLOJURE_HEADERSO_CONTENT_ENCODING_IDX = 134; public static long NGX_HTTP_CLOJURE_HEADERSO_CONTENT_ENCODING_OFFSET; public static int NGX_HTTP_CLOJURE_HEADERSO_LOCATION_IDX = 135; public static long NGX_HTTP_CLOJURE_HEADERSO_LOCATION_OFFSET; public static int NGX_HTTP_CLOJURE_HEADERSO_REFRESH_IDX = 136; public static long NGX_HTTP_CLOJURE_HEADERSO_REFRESH_OFFSET; public static int NGX_HTTP_CLOJURE_HEADERSO_LAST_MODIFIED_IDX = 137; public static long NGX_HTTP_CLOJURE_HEADERSO_LAST_MODIFIED_OFFSET; public static int NGX_HTTP_CLOJURE_HEADERSO_CONTENT_RANGE_IDX = 138; public static long NGX_HTTP_CLOJURE_HEADERSO_CONTENT_RANGE_OFFSET; public static int NGX_HTTP_CLOJURE_HEADERSO_ACCEPT_RANGES_IDX = 139; public static long NGX_HTTP_CLOJURE_HEADERSO_ACCEPT_RANGES_OFFSET; public static int NGX_HTTP_CLOJURE_HEADERSO_WWW_AUTHENTICATE_IDX = 140; public static long NGX_HTTP_CLOJURE_HEADERSO_WWW_AUTHENTICATE_OFFSET; public static int NGX_HTTP_CLOJURE_HEADERSO_EXPIRES_IDX = 141; public static long NGX_HTTP_CLOJURE_HEADERSO_EXPIRES_OFFSET; public static int NGX_HTTP_CLOJURE_HEADERSO_ETAG_IDX = 142; public static long NGX_HTTP_CLOJURE_HEADERSO_ETAG_OFFSET; public static int NGX_HTTP_CLOJURE_HEADERSO_OVERRIDE_CHARSET_IDX = 143; public static long NGX_HTTP_CLOJURE_HEADERSO_OVERRIDE_CHARSET_OFFSET ; public static int NGX_HTTP_CLOJURE_HEADERSO_CONTENT_TYPE_LEN_IDX = 144; public static long NGX_HTTP_CLOJURE_HEADERSO_CONTENT_TYPE_LEN_OFFSET ; public static int NGX_HTTP_CLOJURE_HEADERSO_CONTENT_TYPE_IDX = 145; public static long NGX_HTTP_CLOJURE_HEADERSO_CONTENT_TYPE_OFFSET; public static int NGX_HTTP_CLOJURE_HEADERSO_CHARSET_IDX = 146; public static long NGX_HTTP_CLOJURE_HEADERSO_CHARSET_OFFSET; public static int NGX_HTTP_CLOJURE_HEADERSO_CONTENT_TYPE_LOWCASE_IDX = 147; public static long NGX_HTTP_CLOJURE_HEADERSO_CONTENT_TYPE_LOWCASE_OFFSET; public static int NGX_HTTP_CLOJURE_HEADERSO_CONTENT_TYPE_HASH_IDX = 148; public static long NGX_HTTP_CLOJURE_HEADERSO_CONTENT_TYPE_HASH_OFFSET; public static int NGX_HTTP_CLOJURE_HEADERSO_CACHE_CONTROL_IDX = 149; public static long NGX_HTTP_CLOJURE_HEADERSO_CACHE_CONTROL_OFFSET; public static int NGX_HTTP_CLOJURE_HEADERSO_CONTENT_LENGTH_N_IDX = 150; public static long NGX_HTTP_CLOJURE_HEADERSO_CONTENT_LENGTH_N_OFFSET; public static int NGX_HTTP_CLOJURE_HEADERSO_DATE_TIME_IDX = 151; public static long NGX_HTTP_CLOJURE_HEADERSO_DATE_TIME_OFFSET; public static int NGX_HTTP_CLOJURE_HEADERSO_LAST_MODIFIED_TIME_IDX = 152; public static long NGX_HTTP_CLOJURE_HEADERSO_LAST_MODIFIED_TIME_OFFSET; public static int NGX_HTTP_CLOJURE_HEADERSO_HEADERS_IDX = 153; public static long NGX_HTTP_CLOJURE_HEADERSO_HEADERS_OFFSET; public static int NGX_WORKER_PROCESSORS_NUM_ID = 250; public static long NGX_WORKER_PROCESSORS_NUM; // public static int NGINX_CLOJURE_MODULE_CTX_PHRASE_ID = 251; // public static long NGINX_CLOJURE_MODULE_CTX_PHRASE_ID_OFFSET; public static int NGINX_CLOJURE_RT_WORKERS_ID = 252; public static long NGINX_CLOJURE_RT_WORKERS; public static int NGINX_VER_ID = 253; public static long NGINX_VER; public static int NGINX_CLOJURE_VER_ID = 254; public static long NGINX_CLOJURE_VER; public static String NGINX_CLOJURE_FULL_VER; //these two will be updated to NGX_HTTP_CLOJURE_BUFFER_SIZE public static int NGINX_CLOJURE_CORE_CLIENT_HEADER_MAX_SIZE = 1024 * 8; public static int NGINX_CLOJURE_CORE_CLIENT_HEADER_MAX_LINE_SIZE = NGINX_CLOJURE_CORE_CLIENT_HEADER_MAX_SIZE/2; public static int NGX_HTTP_CLOJURE_MEM_IDX_END = 255; //nginx clojure java runtime required the lowest version of nginx-clojure c module public static long NGINX_CLOJURE_RT_REQUIRED_LVER = 4005; public static long NGINX_CLOJURE_RT_VER = 4005; //ngx_core.h public final static int NGX_OK = 0; public final static int NGX_ERROR = -1; public final static int NGX_AGAIN = -2; public final static int NGX_BUSY = -3; public final static int NGX_DONE = -4; public final static int NGX_DECLINED = -5; public final static int NGX_ABORT = -6; public final static int NGX_HTTP_POST_READ_PHASE = 0; public final static int NGX_HTTP_SERVER_REWRITE_PHASE = 1; public final static int NGX_HTTP_FIND_CONFIG_PHASE =2; public final static int NGX_HTTP_REWRITE_PHASE = 3; public final static int NGX_HTTP_POST_REWRITE_PHASE = 4; public final static int NGX_HTTP_PREACCESS_PHASE = 5; public final static int NGX_HTTP_ACCESS_PHASE = 6; public final static int NGX_HTTP_POST_ACCESS_PHASE = 7; public final static int NGX_HTTP_TRY_FILES_PHASE = 8; public final static int NGX_HTTP_CONTENT_PHASE = 9; public final static int NGX_HTTP_LOG_PHASE = 10; //fake phase for filter public final static int NGX_HTTP_INIT_PROCESS_PHASE= 17; public final static int NGX_HTTP_HEADER_FILTER_PHASE= 18; public final static int NGX_HTTP_BODY_FILTER_PHASE= 19; public final static int NGX_HTTP_EXIT_PROCESS_PHASE= 20; //ngx_http_request.h public static int NGX_HTTP_GET = 0x0002; public static int NGX_HTTP_HEAD = 0x0004; public static int NGX_HTTP_POST = 0x0008; public static int NGX_HTTP_PUT = 0x0010; public static int NGX_HTTP_DELETE = 0x0020; public static int NGX_HTTP_MKCOL = 0x0040; public static int NGX_HTTP_COPY = 0x0080; public static int NGX_HTTP_MOVE = 0x0100; public static int NGX_HTTP_OPTIONS = 0x0200; public static int NGX_HTTP_PROPFIND = 0x0400; public static int NGX_HTTP_PROPPATCH = 0x0800; public static int NGX_HTTP_LOCK = 0x1000; public static int NGX_HTTP_UNLOCK = 0x2000; public static int NGX_HTTP_PATCH = 0x4000; public static int NGX_HTTP_TRACE = 0x8000; public static int NGX_HTTP_CONTINUE = 100; public static int NGX_HTTP_SWITCHING_PROTOCOLS = 101; public static int NGX_HTTP_PROCESSING = 102; public static int NGX_HTTP_OK = 200; public static int NGX_HTTP_CREATED = 201; public static int NGX_HTTP_ACCEPTED = 202; public static int NGX_HTTP_NO_CONTENT = 204; public static int NGX_HTTP_PARTIAL_CONTENT = 206; public static int NGX_HTTP_SPECIAL_RESPONSE = 300; public static int NGX_HTTP_MOVED_PERMANENTLY = 301; public static int NGX_HTTP_MOVED_TEMPORARILY = 302; public static int NGX_HTTP_SEE_OTHER = 303; public static int NGX_HTTP_NOT_MODIFIED = 304; public static int NGX_HTTP_TEMPORARY_REDIRECT = 307; public static int NGX_HTTP_BAD_REQUEST = 400; public static int NGX_HTTP_UNAUTHORIZED = 401; public static int NGX_HTTP_FORBIDDEN = 403; public static int NGX_HTTP_NOT_FOUND = 404; public static int NGX_HTTP_NOT_ALLOWED = 405; public static int NGX_HTTP_REQUEST_TIME_OUT = 408; public static int NGX_HTTP_CONFLICT = 409; public static int NGX_HTTP_LENGTH_REQUIRED = 411; public static int NGX_HTTP_PRECONDITION_FAILED = 412; public static int NGX_HTTP_REQUEST_ENTITY_TOO_LARGE = 413; public static int NGX_HTTP_REQUEST_URI_TOO_LARGE = 414; public static int NGX_HTTP_UNSUPPORTED_MEDIA_TYPE = 415; public static int NGX_HTTP_RANGE_NOT_SATISFIABLE = 416; /* Nginx own HTTP codes */ /* The special code to close connection without any response */ public static int NGX_HTTP_CLOSE = 444; public static int NGX_HTTP_NGINX_CODES = 494; public static int NGX_HTTP_REQUEST_HEADER_TOO_LARGE = 494; public static int NGX_HTTPS_CERT_ERROR = 495; public static int NGX_HTTPS_NO_CERT = 496; /* * We use the special code for the plain HTTP requests that are sent to * HTTPS port to distinguish it from 4XX in an error page redirection */ public static int NGX_HTTP_TO_HTTPS = 497; /* 498 is the canceled code for the requests with invalid host name */ /* * HTTP does not define the code for the case when a client closed the * connection while we are processing its request so we introduce own code * to log such situation when a client has closed the connection before we * even try to send the HTTP header to it */ public static int NGX_HTTP_CLIENT_CLOSED_REQUEST = 499; public static int NGX_HTTP_INTERNAL_SERVER_ERROR = 500; public static int NGX_HTTP_NOT_IMPLEMENTED = 501; public static int NGX_HTTP_BAD_GATEWAY = 502; public static int NGX_HTTP_SERVICE_UNAVAILABLE = 503; public static int NGX_HTTP_GATEWAY_TIME_OUT = 504; public static int NGX_HTTP_INSUFFICIENT_STORAGE = 507; public static final int NGX_HTTP_CLOJURE_CHANNEL_EVENT_CLOSE = 0; public static final int NGX_HTTP_CLOJURE_CHANNEL_EVENT_CONNECT = 1; public static final int NGX_HTTP_CLOJURE_CHANNEL_EVENT_READ = 2; public static final int NGX_HTTP_CLOJURE_CHANNEL_EVENT_WRITE = 4; public static final int NGX_HTTP_CLOJURE_CHANNEL_EVENT_MSGREMAIN = 8; public static final int NGX_HTTP_CLOJURE_CHANNEL_EVENT_MSGTEXT = 16; public static final int NGX_HTTP_CLOJURE_CHANNEL_EVENT_MSGBIN = 32; public static final int NGX_HTTP_CLOJURE_CHANNEL_EVENT_MSGCLOSE = 64; public static final int NGX_HTTP_CLOJURE_CHANNEL_EVENT_MSGFIRST = 128; public static final int NGX_HTTP_CLOJURE_EVENT_HANDLER_FLAG_READ = 1; public static final int NGX_HTTP_CLOJURE_EVENT_HANDLER_FLAG_WRITE = 2; public static final int NGX_HTTP_CLOJURE_EVENT_HANDLER_FLAG_NOKEEPALIVE = 4; // public static final String HEADERS = RT.keyword(null, "headers"); // public static final String BODY = RT.keyword(null, "body"); //these consts are initialized by MemoryUtil.initMemIndex public static RequestVarFetcher SERVER_PORT_FETCHER;// = new RequestKnownNameVarFetcher("server_port"); public static RequestVarFetcher SERVER_NAME_FETCHER;// = new RequestKnownNameVarFetcher("server_name"); public static RequestVarFetcher REMOTE_ADDR_FETCHER;// = new RequestKnownNameVarFetcher("remote_addr"); public static RequestVarFetcher URI_FETCHER;// = new RequestKnownOffsetVarFetcher(NGX_HTTP_CLOJURE_REQ_URI_OFFSET); public static RequestVarFetcher QUERY_STRING_FETCHER;// = new RequestKnownOffsetVarFetcher(NGX_HTTP_CLOJURE_REQ_ARGS_OFFSET); public static RequestVarFetcher SCHEME_FETCHER;//= new RequestKnownNameVarFetcher("scheme"); public static RequestVarFetcher REQUEST_METHOD_FETCHER;// = new RequestMethodFetcher(); public static RequestVarFetcher CONTENT_TYPE_FETCHER;// = new RequestKnownHeaderFetcher("content-type"); public static RequestVarFetcher CHARACTER_ENCODING_FETCHER;// = new RequestCharacterEncodingFetcher(); // public static RequestVarFetcher HEADER_FETCHER;// = new RequestHeaderFetcher(); public static RequestVarFetcher BODY_FETCHER;// = new RequestBodyFetcher(); public static final int MODE_DEFAULT = 0; public static final int MODE_THREAD = 1; public static final int MODE_COROUTINE = 2; public static final String REQUEST_FORECE_PREFETCH_ALL_PROPERTIES = "fore-prefetch-all-properties"; }