1/* Licensed to the Apache Software Foundation (ASF) under one or more 2 * contributor license agreements. See the NOTICE file distributed with 3 * this work for additional information regarding copyright ownership. 4 * The ASF licenses this file to You under the Apache License, Version 2.0 5 * (the "License"); you may not use this file except in compliance with 6 * the License. You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17/** 18 * @file ajp_header.h 19 * @brief AJP defines 20 * 21 * @addtogroup AJP_defines 22 * @{ 23 */ 24 25#ifndef AJP_HEADER_H 26#define AJP_HEADER_H 27 28/* 29 * Conditional request attributes 30 * 31 */ 32#define SC_A_CONTEXT (unsigned char)1 33#define SC_A_SERVLET_PATH (unsigned char)2 34#define SC_A_REMOTE_USER (unsigned char)3 35#define SC_A_AUTH_TYPE (unsigned char)4 36#define SC_A_QUERY_STRING (unsigned char)5 37#define SC_A_JVM_ROUTE (unsigned char)6 38#define SC_A_SSL_CERT (unsigned char)7 39#define SC_A_SSL_CIPHER (unsigned char)8 40#define SC_A_SSL_SESSION (unsigned char)9 41#define SC_A_REQ_ATTRIBUTE (unsigned char)10 42#define SC_A_SSL_KEY_SIZE (unsigned char)11 /* only in if JkOptions +ForwardKeySize */ 43#define SC_A_SECRET (unsigned char)12 44#define SC_A_STORED_METHOD (unsigned char)13 45#define SC_A_ARE_DONE (unsigned char)0xFF 46 47/* 48 * AJP private request attributes 49 * 50 * The following request attribute is recognized by Tomcat 51 * to contain the forwarded remote port. 52 */ 53#define SC_A_REQ_REMOTE_PORT ("AJP_REMOTE_PORT") 54 55/* 56 * Request methods, coded as numbers instead of strings. 57 * The list of methods was taken from Section 5.1.1 of RFC 2616, 58 * RFC 2518, the ACL IETF draft, and the DeltaV IESG Proposed Standard. 59 * Method = "OPTIONS" 60 * | "GET" 61 * | "HEAD" 62 * | "POST" 63 * | "PUT" 64 * | "DELETE" 65 * | "TRACE" 66 * | "PROPFIND" 67 * | "PROPPATCH" 68 * | "MKCOL" 69 * | "COPY" 70 * | "MOVE" 71 * | "LOCK" 72 * | "UNLOCK" 73 * | "ACL" 74 * | "REPORT" 75 * | "VERSION-CONTROL" 76 * | "CHECKIN" 77 * | "CHECKOUT" 78 * | "UNCHECKOUT" 79 * | "SEARCH" 80 * | "MKWORKSPACE" 81 * | "UPDATE" 82 * | "LABEL" 83 * | "MERGE" 84 * | "BASELINE-CONTROL" 85 * | "MKACTIVITY" 86 * 87 */ 88#define SC_M_OPTIONS (unsigned char)1 89#define SC_M_GET (unsigned char)2 90#define SC_M_HEAD (unsigned char)3 91#define SC_M_POST (unsigned char)4 92#define SC_M_PUT (unsigned char)5 93#define SC_M_DELETE (unsigned char)6 94#define SC_M_TRACE (unsigned char)7 95#define SC_M_PROPFIND (unsigned char)8 96#define SC_M_PROPPATCH (unsigned char)9 97#define SC_M_MKCOL (unsigned char)10 98#define SC_M_COPY (unsigned char)11 99#define SC_M_MOVE (unsigned char)12 100#define SC_M_LOCK (unsigned char)13 101#define SC_M_UNLOCK (unsigned char)14 102#define SC_M_ACL (unsigned char)15 103#define SC_M_REPORT (unsigned char)16 104#define SC_M_VERSION_CONTROL (unsigned char)17 105#define SC_M_CHECKIN (unsigned char)18 106#define SC_M_CHECKOUT (unsigned char)19 107#define SC_M_UNCHECKOUT (unsigned char)20 108#define SC_M_SEARCH (unsigned char)21 109#define SC_M_MKWORKSPACE (unsigned char)22 110#define SC_M_UPDATE (unsigned char)23 111#define SC_M_LABEL (unsigned char)24 112#define SC_M_MERGE (unsigned char)25 113#define SC_M_BASELINE_CONTROL (unsigned char)26 114#define SC_M_MKACTIVITY (unsigned char)27 115#define SC_M_JK_STORED (unsigned char)0xFF 116 117 118/* 119 * Frequent request headers, these headers are coded as numbers 120 * instead of strings. 121 * 122 * Accept 123 * Accept-Charset 124 * Accept-Encoding 125 * Accept-Language 126 * Authorization 127 * Connection 128 * Content-Type 129 * Content-Length 130 * Cookie 131 * Cookie2 132 * Host 133 * Pragma 134 * Referer 135 * User-Agent 136 * 137 */ 138 139#define SC_ACCEPT (unsigned short)0xA001 140#define SC_ACCEPT_CHARSET (unsigned short)0xA002 141#define SC_ACCEPT_ENCODING (unsigned short)0xA003 142#define SC_ACCEPT_LANGUAGE (unsigned short)0xA004 143#define SC_AUTHORIZATION (unsigned short)0xA005 144#define SC_CONNECTION (unsigned short)0xA006 145#define SC_CONTENT_TYPE (unsigned short)0xA007 146#define SC_CONTENT_LENGTH (unsigned short)0xA008 147#define SC_COOKIE (unsigned short)0xA009 148#define SC_COOKIE2 (unsigned short)0xA00A 149#define SC_HOST (unsigned short)0xA00B 150#define SC_PRAGMA (unsigned short)0xA00C 151#define SC_REFERER (unsigned short)0xA00D 152#define SC_USER_AGENT (unsigned short)0xA00E 153 154/* 155 * Frequent response headers, these headers are coded as numbers 156 * instead of strings. 157 * 158 * Content-Type 159 * Content-Language 160 * Content-Length 161 * Date 162 * Last-Modified 163 * Location 164 * Set-Cookie 165 * Servlet-Engine 166 * Status 167 * WWW-Authenticate 168 * 169 */ 170 171#define SC_RESP_CONTENT_TYPE (unsigned short)0xA001 172#define SC_RESP_CONTENT_LANGUAGE (unsigned short)0xA002 173#define SC_RESP_CONTENT_LENGTH (unsigned short)0xA003 174#define SC_RESP_DATE (unsigned short)0xA004 175#define SC_RESP_LAST_MODIFIED (unsigned short)0xA005 176#define SC_RESP_LOCATION (unsigned short)0xA006 177#define SC_RESP_SET_COOKIE (unsigned short)0xA007 178#define SC_RESP_SET_COOKIE2 (unsigned short)0xA008 179#define SC_RESP_SERVLET_ENGINE (unsigned short)0xA009 180#define SC_RESP_STATUS (unsigned short)0xA00A 181#define SC_RESP_WWW_AUTHENTICATE (unsigned short)0xA00B 182#define SC_RES_HEADERS_NUM 11 183 184#endif /* AJP_HEADER_H */ 185/** @} */ 186