From ebc5fea77b45efb3bbf9baa4802ec3f6f0211941 Mon Sep 17 00:00:00 2001 From: Sebastien Deleuze Date: Mon, 4 Aug 2014 17:39:22 +0200 Subject: [PATCH] Add more HttpHeaders constants for standard HTTP headers Issue: SPR-12063 --- .../org/springframework/http/HttpHeaders.java | 261 ++++++++++++++++-- 1 file changed, 243 insertions(+), 18 deletions(-) diff --git a/spring-web/src/main/java/org/springframework/http/HttpHeaders.java b/spring-web/src/main/java/org/springframework/http/HttpHeaders.java index b6065e9cac7..69f62407f8b 100644 --- a/spring-web/src/main/java/org/springframework/http/HttpHeaders.java +++ b/spring-web/src/main/java/org/springframework/http/HttpHeaders.java @@ -53,48 +53,273 @@ import org.springframework.util.StringUtils; *

Inspired by {@link com.sun.net.httpserver.Headers}. * * @author Arjen Poutsma + * @author Sebastien Deleuze * @since 3.0 */ public class HttpHeaders implements MultiValueMap, Serializable { private static final long serialVersionUID = -8578554704772377436L; + /** + * The HTTP {@code Accept} header field name. + * @see Section 5.3.2 of RFC 7231 + */ public static final String ACCEPT = "Accept"; - + /** + * The HTTP {@code Accept-Charset} header field name. + * @see Section 5.3.3 of RFC 7231 + */ public static final String ACCEPT_CHARSET = "Accept-Charset"; - + /** + * The HTTP {@code Accept-Encoding} header field name. + * @see Section 5.3.4 of RFC 7231 + */ + public static final String ACCEPT_ENCODING = "Accept-Encoding"; + /** + * The HTTP {@code Accept-Language} header field name. + * @see Section 5.3.5 of RFC 7231 + */ + public static final String ACCEPT_LANGUAGE = "Accept-Language"; + /** + * The HTTP {@code Accept-Ranges} header field name. + * @see Section 5.3.5 of RFC 7233 + */ + public static final String ACCEPT_RANGES = "Accept-Ranges"; + /** + * The HTTP {@code Age} header field name. + * @see Section 5.1 of RFC 7234 + */ + public static final String AGE = "Age"; + /** + * The HTTP {@code Allow} header field name. + * @see Section 7.4.1 of RFC 7231 + */ public static final String ALLOW = "Allow"; - + /** + * The HTTP {@code Authorization} header field name. + * @see Section 4.2 of RFC 7235 + */ + public static final String AUTHORIZATION = "Authorization"; + /** + * The HTTP {@code Cache-Control} header field name. + * @see Section 5.2 of RFC 7234 + */ public static final String CACHE_CONTROL = "Cache-Control"; - + /** + * The HTTP {@code Connection} header field name. + * @see Section 6.1 of RFC 7230 + */ public static final String CONNECTION = "Connection"; - + /** + * The HTTP {@code Content-Encoding} header field name. + * @see Section 3.1.2.2 of RFC 7231 + */ + public static final String CONTENT_ENCODING = "Content-Encoding"; + /** + * The HTTP {@code Content-Disposition} header field name + * @see RFC 6266 + */ public static final String CONTENT_DISPOSITION = "Content-Disposition"; - + /** + * The HTTP {@code Content-Language} header field name. + * @see Section 3.1.3.2 of RFC 7231 + */ + public static final String CONTENT_LANGUAGE = "Content-Language"; + /** + * The HTTP {@code Content-Length} header field name. + * @see Section 3.3.2 of RFC 7230 + */ public static final String CONTENT_LENGTH = "Content-Length"; - + /** + * The HTTP {@code Content-Location} header field name. + * @see Section 3.1.4.2 of RFC 7231 + */ + public static final String CONTENT_LOCATION = "Content-Location"; + /** + * The HTTP {@code Content-Range} header field name. + * @see Section 4.2 of RFC 7233 + */ + public static final String CONTENT_RANGE = "Content-Range"; + /** + * The HTTP {@code Content-Type} header field name. + * @see Section 3.1.1.5 of RFC 7231 + */ public static final String CONTENT_TYPE = "Content-Type"; - + /** + * The HTTP {@code Cookie} header field name. + * @see Section 4.3.4 of RFC 2109 + */ + public static final String COOKIE = "Cookie"; + /** + * The HTTP {@code Date} header field name. + * @see Section 7.1.1.2 of RFC 7231 + */ public static final String DATE = "Date"; - + /** + * The HTTP {@code ETag} header field name. + * @see Section 2.3 of RFC 7232 + */ public static final String ETAG = "ETag"; - + /** + * The HTTP {@code Expect} header field name. + * @see Section 5.1.1 of RFC 7231 + */ + public static final String EXPECT = "Expect"; + /** + * The HTTP {@code Expires} header field name. + * @see Section 5.3 of RFC 7234 + */ public static final String EXPIRES = "Expires"; - + /** + * The HTTP {@code From} header field name. + * @see Section 5.5.1 of RFC 7231 + */ + public static final String FROM = "From"; + /** + * The HTTP {@code Host} header field name. + * @see Section 5.4 of RFC 7230 + */ + public static final String HOST = "Host"; + /** + * The HTTP {@code If-Match} header field name. + * @see Section 3.1 of RFC 7232 + */ + public static final String IF_MATCH = "If-Match"; + /** + * The HTTP {@code If-Modified-Since} header field name. + * @see Section 3.3 of RFC 7232 + */ public static final String IF_MODIFIED_SINCE = "If-Modified-Since"; - + /** + * The HTTP {@code If-None-Match} header field name. + * @see Section 3.2 of RFC 7232 + */ public static final String IF_NONE_MATCH = "If-None-Match"; - + /** + * The HTTP {@code If-Range} header field name. + * @see Section 3.2 of RFC 7233 + */ + public static final String IF_RANGE = "If-Range"; + /** + * The HTTP {@code If-Unmodified-Since} header field name. + * @see Section 3.4 of RFC 7232 + */ + public static final String IF_UNMODIFIED_SINCE = "If-Unmodified-Since"; + /** + * The HTTP {@code Last-Modified} header field name. + * @see Section 2.2 of RFC 7232 + */ public static final String LAST_MODIFIED = "Last-Modified"; - + /** + * The HTTP {@code Link} header field name. + * @see RFC 5988 + */ + public static final String LINK = "Link"; + /** + * The HTTP {@code Location} header field name. + * @see Section 7.1.2 of RFC 7231 + */ public static final String LOCATION = "Location"; - + /** + * The HTTP {@code Max-Forwards} header field name. + * @see Section 5.1.2 of RFC 7231 + */ + public static final String MAX_FORWARDS = "Max-Forwards"; + /** + * The HTTP {@code Origin} header field name. + * @see RFC 6454 + */ public static final String ORIGIN = "Origin"; - + /** + * The HTTP {@code Pragma} header field name. + * @see Section 5.4 of RFC 7234 + */ public static final String PRAGMA = "Pragma"; - + /** + * The HTTP {@code Proxy-Authenticate} header field name. + * @see Section 4.3 of RFC 7235 + */ + public static final String PROXY_AUTHENTICATE = "Proxy-Authenticate"; + /** + * The HTTP {@code Proxy-Authorization} header field name. + * @see Section 4.4 of RFC 7235 + */ + public static final String PROXY_AUTHORIZATION = "Proxy-Authorization"; + /** + * The HTTP {@code Range} header field name. + * @see Section 3.1 of RFC 7233 + */ + public static final String RANGE = "Range"; + /** + * The HTTP {@code Referer} header field name. + * @see Section 5.5.2 of RFC 7231 + */ + public static final String REFERER = "Referer"; + /** + * The HTTP {@code Retry-After} header field name. + * @see Section 7.1.3 of RFC 7231 + */ + public static final String RETRY_AFTER = "Retry-After"; + /** + * The HTTP {@code Server} header field name. + * @see Section 7.4.2 of RFC 7231 + */ + public static final String SERVER = "Server"; + /** + * The HTTP {@code Set-Cookie} header field name. + * @see Section 4.2.2 of RFC 2109 + */ + public static final String SET_COOKIE = "Set-Cookie"; + /** + * The HTTP {@code Set-Cookie2} header field name. + * @see RFC 2965 + */ + public static final String SET_COOKIE2 = "Set-Cookie2"; + /** + * The HTTP {@code TE} header field name. + * @see Section 4.3 of RFC 7230 + */ + public static final String TE = "TE"; + /** + * The HTTP {@code Trailer} header field name. + * @see Section 4.4 of RFC 7230 + */ + public static final String TRAILER = "Trailer"; + /** + * The HTTP {@code Transfer-Encoding} header field name. + * @see Section 3.3.1 of RFC 7230 + */ + public static final String TRANSFER_ENCODING = "Transfer-Encoding"; + /** + * The HTTP {@code Upgrade} header field name. + * @see Section 6.7 of RFC 7230 + */ public static final String UPGRADE = "Upgrade"; - + /** + * The HTTP {@code User-Agent} header field name. + * @see Section 5.5.3 of RFC 7231 + */ + public static final String USER_AGENT = "User-Agent"; + /** + * The HTTP {@code Vary} header field name. + * @see Section 7.1.4 of RFC 7231 + */ + public static final String VARY = "Vary"; + /** + * The HTTP {@code Via} header field name. + * @see Section 5.7.1 of RFC 7230 + */ + public static final String VIA = "Via"; + /** + * The HTTP {@code Warning} header field name. + * @see Section 5.5 of RFC 7234 + */ + public static final String WARNING = "Warning"; + /** + * The HTTP {@code WWW-Authenticate} header field name. + * @see Section 4.1 of RFC 7235 + */ + public static final String WWW_AUTHENTICATE = "WWW-Authenticate"; private static final String[] DATE_FORMATS = new String[] { "EEE, dd MMM yyyy HH:mm:ss zzz",