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