1 | |
|
2 | |
|
3 | |
|
4 | |
|
5 | |
|
6 | |
|
7 | |
package org.mule.transport.http; |
8 | |
|
9 | |
import org.mule.api.config.MuleProperties; |
10 | |
import org.mule.util.MapUtils; |
11 | |
|
12 | |
import java.util.Collections; |
13 | |
import java.util.Map; |
14 | |
|
15 | |
import org.apache.commons.collections.map.CaseInsensitiveMap; |
16 | |
|
17 | |
|
18 | |
|
19 | |
|
20 | |
|
21 | 0 | public class HttpConstants |
22 | |
{ |
23 | |
|
24 | |
public static final String HTTP10 = "HTTP/1.0"; |
25 | |
public static final String HTTP1X = "HTTP/1.x"; |
26 | |
public static final String HTTP11 = "HTTP/1.1"; |
27 | |
public static final String DEFAULT_HTTP_VERSION = HttpConstants.HTTP11; |
28 | |
|
29 | |
|
30 | |
public static final int DEFAULT_HTTP_PORT = 80; |
31 | |
|
32 | |
|
33 | |
public static final String METHOD_OPTIONS = "OPTIONS"; |
34 | |
public static final String METHOD_GET = "GET"; |
35 | |
public static final String METHOD_HEAD = "HEAD"; |
36 | |
public static final String METHOD_PATCH = "PATCH"; |
37 | |
public static final String METHOD_POST = "POST"; |
38 | |
public static final String METHOD_PUT = "PUT"; |
39 | |
public static final String METHOD_DELETE = "DELETE"; |
40 | |
public static final String METHOD_TRACE = "TRACE"; |
41 | |
public static final String METHOD_CONNECT = "CONNECT"; |
42 | |
|
43 | |
|
44 | |
public static final String DATE_FORMAT = "EEE, dd MMM yyyy hh:mm:ss zzz"; |
45 | |
|
46 | |
|
47 | |
public static final String CRLF = "\r\n"; |
48 | |
|
49 | |
public static final String HEADER_CONTENT_SEPARATOR = CRLF + CRLF; |
50 | |
|
51 | |
|
52 | |
public static final String DEFAULT_CONTENT_TYPE = "text/plain"; |
53 | |
|
54 | |
|
55 | |
public static final String HEADER_ACCEPT = "Accept"; |
56 | |
public static final String HEADER_ACCEPT_CHARSET = "Accept-Charset"; |
57 | |
public static final String HEADER_ACCEPT_ENCODING = "Accept-Encoding"; |
58 | |
public static final String HEADER_ACCEPT_LANGUAGE = "Accept-Language"; |
59 | |
public static final String HEADER_ACCEPT_RANGES = "Accept-Ranges"; |
60 | |
public static final String HEADER_AGE = "Age"; |
61 | |
public static final String HEADER_ALLOW = "Allow"; |
62 | |
public static final String HEADER_AUTHORIZATION = "Authorization"; |
63 | |
public static final String HEADER_CACHE_CONTROL = "Cache-Control"; |
64 | |
public static final String HEADER_CONNECTION = "Connection"; |
65 | |
public static final String HEADER_CONTENT_ENCODING = "Content-Encoding"; |
66 | |
public static final String HEADER_CONTENT_DISPOSITION = "Content-Disposition"; |
67 | |
public static final String HEADER_CONTENT_LANGUAGE = "Content-Language"; |
68 | |
public static final String HEADER_CONTENT_LENGTH = "Content-Length"; |
69 | |
public static final String HEADER_CONTENT_LOCATION = "Content-Location"; |
70 | |
public static final String HEADER_CONTENT_MD5 = "Content-MD5"; |
71 | |
public static final String HEADER_CONTENT_RANGE = "Content-Range"; |
72 | |
public static final String HEADER_CONTENT_TYPE = "Content-Type"; |
73 | |
public static final String HEADER_COOKIE = "Cookie"; |
74 | |
public static final String HEADER_COOKIE_SET = "Set-Cookie"; |
75 | |
public static final String HEADER_DATE = "Date"; |
76 | |
public static final String HEADER_ETAG = "ETag"; |
77 | |
public static final String HEADER_EXPECT = "Expect"; |
78 | |
public static final String HEADER_EXPIRES = "Expires"; |
79 | |
public static final String HEADER_FROM = "From"; |
80 | |
public static final String HEADER_HOST = "Host"; |
81 | |
public static final String HEADER_IF_MATCH = "If-Match"; |
82 | |
public static final String HEADER_IF_MODIFIED_SINCE = "If-Modified-Since"; |
83 | |
public static final String HEADER_IF_NONE_MATCH = "If-None-Match"; |
84 | |
public static final String HEADER_IF_RANGE = "If-Range"; |
85 | |
public static final String HEADER_IF_UNMODIFIED_SINCE = "If-Unmodified-Since"; |
86 | |
public static final String HEADER_KEEP_ALIVE = "Keep-Alive"; |
87 | |
public static final String HEADER_LAST_MODIFIED = "Last-Modified"; |
88 | |
public static final String HEADER_LOCATION = "Location"; |
89 | |
public static final String HEADER_MAX_FORWARDS = "Max-Forwards"; |
90 | |
public static final String HEADER_PRAGMA = "Pragma"; |
91 | |
public static final String HEADER_PROXY_AUTHENTICATE = "Proxy-Authenticate"; |
92 | |
public static final String HEADER_PROXY_AUTHORIZATION = "Proxy-Authorization"; |
93 | |
public static final String HEADER_RANGE = "Range"; |
94 | |
public static final String HEADER_REFERER = "Referer"; |
95 | |
public static final String HEADER_RETRY_AFTER = "Retry-After"; |
96 | |
public static final String HEADER_SERVER = "Server"; |
97 | |
public static final String HEADER_SLUG = "Slug"; |
98 | |
public static final String HEADER_TE = "TE"; |
99 | |
public static final String HEADER_TRAILER = "Trailer"; |
100 | |
public static final String HEADER_TRANSFER_ENCODING = "Transfer-Encoding"; |
101 | |
public static final String HEADER_UPGRADE = "Upgrade"; |
102 | |
public static final String HEADER_USER_AGENT = "User-Agent"; |
103 | |
public static final String HEADER_VARY = "Vary"; |
104 | |
public static final String HEADER_VIA = "Via"; |
105 | |
public static final String HEADER_WARNING = "Warning"; |
106 | |
public static final String HEADER_WWW_AUTHENTICATE = "WWW-Authenticate"; |
107 | |
|
108 | |
|
109 | |
public static final String HEADER_EXPECT_CONTINUE_REQUEST_VALUE = "100-continue"; |
110 | |
|
111 | |
|
112 | |
public static final String TRANSFER_ENCODING_CHUNKED = "chunked"; |
113 | |
|
114 | |
|
115 | |
public static final String CUSTOM_HEADER_PREFIX = "X-"; |
116 | |
|
117 | |
|
118 | |
public static final String X_PROPERTY_PREFIX = CUSTOM_HEADER_PREFIX + MuleProperties.PROPERTY_PREFIX; |
119 | |
|
120 | |
|
121 | |
public static final String HEADER_MULE_SESSION = CUSTOM_HEADER_PREFIX + MuleProperties.MULE_SESSION_PROPERTY; |
122 | |
|
123 | |
|
124 | |
public static final Map<String, String> REQUEST_HEADER_NAMES; |
125 | |
public static final Map<String, String> RESPONSE_HEADER_NAMES; |
126 | |
public static final Map<String, String> ALL_HEADER_NAMES; |
127 | |
|
128 | |
|
129 | |
public static final int SC_CONTINUE = 100; |
130 | |
public static final int SC_SWITCHING_PROTOCOLS = 101; |
131 | |
public static final int SC_PROCESSING = 102; |
132 | |
public static final int SC_OK = 200; |
133 | |
public static final int SC_CREATED = 201; |
134 | |
public static final int SC_ACCEPTED = 202; |
135 | |
public static final int SC_NON_AUTHORITATIVE_INFORMATION = 203; |
136 | |
public static final int SC_NO_CONTENT = 204; |
137 | |
public static final int SC_RESET_CONTENT = 205; |
138 | |
public static final int SC_PARTIAL_CONTENT = 206; |
139 | |
public static final int SC_MULTI_STATUS = 207; |
140 | |
public static final int SC_MULTIPLE_CHOICES = 300; |
141 | |
public static final int SC_MOVED_PERMANENTLY = 301; |
142 | |
public static final int SC_MOVED_TEMPORARILY = 302; |
143 | |
public static final int SC_SEE_OTHER = 303; |
144 | |
public static final int SC_NOT_MODIFIED = 304; |
145 | |
public static final int SC_USE_PROXY = 305; |
146 | |
public static final int SC_TEMPORARY_REDIRECT = 307; |
147 | |
public static final int SC_BAD_REQUEST = 400; |
148 | |
public static final int SC_UNAUTHORIZED = 401; |
149 | |
public static final int SC_PAYMENT_REQUIRED = 402; |
150 | |
public static final int SC_FORBIDDEN = 403; |
151 | |
public static final int SC_NOT_FOUND = 404; |
152 | |
public static final int SC_METHOD_NOT_ALLOWED = 405; |
153 | |
public static final int SC_NOT_ACCEPTABLE = 406; |
154 | |
public static final int SC_PROXY_AUTHENTICATION_REQUIRED = 407; |
155 | |
public static final int SC_REQUEST_TIMEOUT = 408; |
156 | |
public static final int SC_CONFLICT = 409; |
157 | |
public static final int SC_GONE = 410; |
158 | |
public static final int SC_LENGTH_REQUIRED = 411; |
159 | |
public static final int SC_PRECONDITION_FAILED = 412; |
160 | |
public static final int SC_REQUEST_TOO_LONG = 413; |
161 | |
public static final int SC_REQUEST_URI_TOO_LONG = 414; |
162 | |
public static final int SC_UNSUPPORTED_MEDIA_TYPE = 415; |
163 | |
public static final int SC_REQUESTED_RANGE_NOT_SATISFIABLE = 416; |
164 | |
public static final int SC_EXPECTATION_FAILED = 417; |
165 | |
public static final int SC_INSUFFICIENT_SPACE_ON_RESOURCE = 419; |
166 | |
public static final int SC_METHOD_FAILURE = 420; |
167 | |
public static final int SC_UNPROCESSABLE_ENTITY = 422; |
168 | |
public static final int SC_LOCKED = 423; |
169 | |
public static final int SC_FAILED_DEPENDENCY = 424; |
170 | |
public static final int SC_INTERNAL_SERVER_ERROR = 500; |
171 | |
public static final int SC_NOT_IMPLEMENTED = 501; |
172 | |
public static final int SC_BAD_GATEWAY = 502; |
173 | |
public static final int SC_SERVICE_UNAVAILABLE = 503; |
174 | |
public static final int SC_GATEWAY_TIMEOUT = 504; |
175 | |
public static final int SC_HTTP_VERSION_NOT_SUPPORTED = 505; |
176 | |
public static final int SC_INSUFFICIENT_STORAGE = 507; |
177 | |
|
178 | |
static |
179 | |
{ |
180 | 0 | String[] strings = new String[]{HEADER_ACCEPT, HEADER_ACCEPT_CHARSET, HEADER_ACCEPT_ENCODING, |
181 | |
HEADER_ACCEPT_LANGUAGE, HEADER_AUTHORIZATION, HEADER_CACHE_CONTROL, HEADER_CONNECTION, |
182 | |
HEADER_COOKIE, HEADER_DATE, HEADER_EXPECT, HEADER_FROM, HEADER_HOST, HEADER_IF_MATCH, |
183 | |
HEADER_IF_MODIFIED_SINCE, HEADER_IF_NONE_MATCH, HEADER_IF_RANGE, HEADER_IF_UNMODIFIED_SINCE, |
184 | |
HEADER_MAX_FORWARDS, HEADER_PRAGMA, HEADER_PROXY_AUTHORIZATION, HEADER_RANGE, HEADER_REFERER, |
185 | |
HEADER_TE, HEADER_TRAILER, HEADER_TRANSFER_ENCODING, HEADER_UPGRADE, HEADER_USER_AGENT, |
186 | |
HEADER_VIA, HEADER_WARNING, HEADER_CONTENT_LENGTH, HEADER_SLUG}; |
187 | |
|
188 | 0 | REQUEST_HEADER_NAMES = Collections.unmodifiableMap(MapUtils.mapWithKeysAndValues( |
189 | |
CaseInsensitiveMap.class, strings, strings)); |
190 | |
|
191 | 0 | strings = new String[]{HEADER_ACCEPT_RANGES, HEADER_AGE, HEADER_ALLOW, HEADER_CACHE_CONTROL, |
192 | |
HEADER_CONNECTION, HEADER_CONTENT_ENCODING, HEADER_CONTENT_DISPOSITION, |
193 | |
HEADER_CONTENT_LANGUAGE, HEADER_COOKIE_SET, HEADER_CONTENT_LOCATION, HEADER_CONTENT_MD5, |
194 | |
HEADER_CONTENT_RANGE, HEADER_DATE, HEADER_ETAG, HEADER_EXPIRES, HEADER_LAST_MODIFIED, |
195 | |
HEADER_LOCATION, HEADER_PRAGMA, HEADER_PROXY_AUTHENTICATE, HEADER_RETRY_AFTER, |
196 | |
HEADER_SERVER, HEADER_TRAILER, HEADER_TRANSFER_ENCODING, HEADER_UPGRADE, HEADER_VARY, |
197 | |
HEADER_VIA, HEADER_WARNING, HEADER_WWW_AUTHENTICATE}; |
198 | |
|
199 | 0 | RESPONSE_HEADER_NAMES = Collections.unmodifiableMap(MapUtils.mapWithKeysAndValues( |
200 | |
CaseInsensitiveMap.class, strings, strings)); |
201 | |
|
202 | 0 | strings = new String[]{HEADER_ALLOW, HEADER_CACHE_CONTROL, HEADER_CONNECTION, |
203 | |
HEADER_CONTENT_DISPOSITION, HEADER_CONTENT_ENCODING, HEADER_CONTENT_LANGUAGE, |
204 | |
HEADER_CONTENT_LENGTH, HEADER_CONTENT_LOCATION, HEADER_CONTENT_MD5, HEADER_CONTENT_RANGE, |
205 | |
HEADER_CONTENT_TYPE, HEADER_DATE, HEADER_EXPIRES, HEADER_KEEP_ALIVE, HEADER_LAST_MODIFIED, |
206 | |
HEADER_PRAGMA, HEADER_TRAILER, HEADER_TRANSFER_ENCODING, HEADER_UPGRADE, HEADER_VIA, |
207 | |
HEADER_WARNING}; |
208 | |
|
209 | 0 | Map<String, String> allHeaders = MapUtils.mapWithKeysAndValues(CaseInsensitiveMap.class, strings, |
210 | |
strings); |
211 | 0 | allHeaders.putAll(REQUEST_HEADER_NAMES); |
212 | 0 | allHeaders.putAll(RESPONSE_HEADER_NAMES); |
213 | 0 | ALL_HEADER_NAMES = Collections.unmodifiableMap(allHeaders); |
214 | 0 | } |
215 | |
|
216 | |
} |