Coverage Report - org.mule.transport.http.HttpConstants
 
Classes in this File Line Coverage Branch Coverage Complexity
HttpConstants
0%
0/11
N/A
0
 
 1  
 /*
 2  
  * $Id: HttpConstants.java 19494 2010-09-09 15:58:39Z epere4 $
 3  
  * --------------------------------------------------------------------------------------
 4  
  * Copyright (c) MuleSoft, Inc.  All rights reserved.  http://www.mulesoft.com
 5  
  *
 6  
  * The software in this package is published under the terms of the CPAL v1.0
 7  
  * license, a copy of which has been included with this distribution in the
 8  
  * LICENSE.txt file.
 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  
  * <code>HttpConstants</code> for request and response headers
 23  
  */
 24  
 // @ThreadSafe
 25  0
 public class HttpConstants
 26  
 {
 27  
     // HTTP prefix
 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  
     // Default HTTP port
 34  
     public static final int DEFAULT_HTTP_PORT = 80;
 35  
 
 36  
     // HTTP Methods
 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  
     // Date header format
 47  
     public static final String DATE_FORMAT = "EEE, dd MMM yyyy hh:mm:ss zzz";
 48  
 
 49  
     // Newline
 50  
     public static final String CRLF = "\r\n";
 51  
     // Mime/Content separator
 52  
     public static final String HEADER_CONTENT_SEPARATOR = CRLF + CRLF;
 53  
 
 54  
     // The default content type
 55  
     public static final String DEFAULT_CONTENT_TYPE = "text/plain";
 56  
 
 57  
     // Headers
 58  
     public static final String HEADER_ACCEPT = "Accept"; // [Request]
 59  
     public static final String HEADER_ACCEPT_CHARSET = "Accept-Charset"; // [Request]
 60  
     public static final String HEADER_ACCEPT_ENCODING = "Accept-Encoding"; // [Request]
 61  
     public static final String HEADER_ACCEPT_LANGUAGE = "Accept-Language"; // [Request]
 62  
     public static final String HEADER_ACCEPT_RANGES = "Accept-Ranges"; // [Response]
 63  
     public static final String HEADER_AGE = "Age"; // [Response]
 64  
     public static final String HEADER_ALLOW = "Allow"; // [Entity]
 65  
     public static final String HEADER_AUTHORIZATION = "Authorization"; // [Request]
 66  
     public static final String HEADER_CACHE_CONTROL = "Cache-Control"; // [General]
 67  
     public static final String HEADER_CONNECTION = "Connection"; // [General]
 68  
     public static final String HEADER_CONTENT_ENCODING = "Content-Encoding"; // [Entity]
 69  
     public static final String HEADER_CONTENT_DISPOSITION = "Content-Disposition"; // [Entity]
 70  
     public static final String HEADER_CONTENT_LANGUAGE = "Content-Language"; // [Entity]
 71  
     public static final String HEADER_CONTENT_LENGTH = "Content-Length"; // [Entity]
 72  
     public static final String HEADER_CONTENT_LOCATION = "Content-Location"; // [Entity]
 73  
     public static final String HEADER_CONTENT_MD5 = "Content-MD5"; // [Entity]
 74  
     public static final String HEADER_CONTENT_RANGE = "Content-Range"; // [Entity]
 75  
     public static final String HEADER_CONTENT_TYPE = "Content-Type"; // [Entity]
 76  
     public static final String HEADER_COOKIE = "Cookie"; // [Request]
 77  
     public static final String HEADER_COOKIE_SET = "Set-Cookie"; // [Response]
 78  
     public static final String HEADER_DATE = "Date"; // [General]
 79  
     public static final String HEADER_ETAG = "ETag"; // [Response]
 80  
     public static final String HEADER_EXPECT = "Expect"; // [Request]
 81  
     public static final String HEADER_EXPIRES = "Expires"; // [Entity]
 82  
     public static final String HEADER_FROM = "From"; // [Request]
 83  
     public static final String HEADER_HOST = "Host"; // [Request]
 84  
     public static final String HEADER_IF_MATCH = "If-Match"; // [Request]
 85  
     public static final String HEADER_IF_MODIFIED_SINCE = "If-Modified-Since"; // [Request]
 86  
     public static final String HEADER_IF_NONE_MATCH = "If-None-Match"; // [Request]
 87  
     public static final String HEADER_IF_RANGE = "If-Range"; // [Request]
 88  
     public static final String HEADER_IF_UNMODIFIED_SINCE = "If-Unmodified-Since"; // [Request]
 89  
     public static final String HEADER_KEEP_ALIVE = "Keep-Alive"; // [Entity]
 90  
     public static final String HEADER_LAST_MODIFIED = "Last-Modified"; // [Entity]
 91  
     public static final String HEADER_LOCATION = "Location"; // [Response]
 92  
     public static final String HEADER_MAX_FORWARDS = "Max-Forwards"; // [Request]
 93  
     public static final String HEADER_PRAGMA = "Pragma"; // [General]
 94  
     public static final String HEADER_PROXY_AUTHENTICATE = "Proxy-Authenticate"; // [Response]
 95  
     public static final String HEADER_PROXY_AUTHORIZATION = "Proxy-Authorization"; // [Request]
 96  
     public static final String HEADER_RANGE = "Range"; // [Request]
 97  
     public static final String HEADER_REFERER = "Referer"; // [Request]
 98  
     public static final String HEADER_RETRY_AFTER = "Retry-After"; // [Response]
 99  
     public static final String HEADER_SERVER = "Server"; // [Response]
 100  
     public static final String HEADER_SLUG = "Slug"; // [Response]
 101  
     public static final String HEADER_TE = "TE"; // [Request]
 102  
     public static final String HEADER_TRAILER = "Trailer"; // [General]
 103  
     public static final String HEADER_TRANSFER_ENCODING = "Transfer-Encoding"; // [General]
 104  
     public static final String HEADER_UPGRADE = "Upgrade"; // [General]
 105  
     public static final String HEADER_USER_AGENT = "User-Agent"; // [Request]
 106  
     public static final String HEADER_VARY = "Vary"; // [Response]
 107  
     public static final String HEADER_VIA = "Via"; // [General]
 108  
     public static final String HEADER_WARNING = "Warning"; // [General]
 109  
     public static final String HEADER_WWW_AUTHENTICATE = "WWW-Authenticate"; // [Response]
 110  
 
 111  
     // This is a POST-related request header value
 112  
     public static final String HEADER_EXPECT_CONTINUE_REQUEST_VALUE = "100-continue"; // [Request]
 113  
 
 114  
     // Chunked transfer encoding indicator
 115  
     public static final String TRANSFER_ENCODING_CHUNKED = "chunked";
 116  
 
 117  
     // Key for X-MULE headers
 118  
     public static final String X_PROPERTY_PREFIX = "X-" + MuleProperties.PROPERTY_PREFIX;
 119  
 
 120  
     // case-insenitive Maps of header names to their normalized representations
 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  
     // Status codes
 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  
 }