Home | History | Annotate | Download | only in net
      1 /*******************************************************************************
      2  * Copyright 2011 See AUTHORS file.
      3  *
      4  * Licensed under the Apache License, Version 2.0 (the "License");
      5  * you may not use this file except in compliance with the License.
      6  * 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 package com.badlogic.gdx.net;
     18 
     19 /** A list of common response header constants of the HTTP protocol. See http://en.wikipedia.org/wiki/List_of_HTTP_header_fields.
     20  * @author Daniel Holderbaum */
     21 public interface HttpResponseHeader {
     22 	/** Specifying which web sites can participate in cross-origin resource sharing.
     23 	 * <p>
     24 	 * Example: Access-Control-Allow-Origin: * */
     25 	public static final String AccessControlAllowOrigin = "Access-Control-Allow-Origin";
     26 
     27 	/** What partial content range types this server supports.
     28 	 * <p>
     29 	 * Example: Accept-Ranges: bytes */
     30 	public static final String AcceptRanges = "Accept-Ranges";
     31 
     32 	/** The age the object has been in a proxy cache in seconds.
     33 	 * <p>
     34 	 * Example: Age: 12 */
     35 	public static final String Age = "Age";
     36 
     37 	/** Valid actions for a specified resource. To be used for a 405 Method not allowed.
     38 	 * <p>
     39 	 * Example: Allow: GET, HEAD */
     40 	public static final String Allow = "Allow";
     41 
     42 	/** Tells all caching mechanisms from server to client whether they may cache this object. It is measured in seconds.
     43 	 * <p>
     44 	 * Example: Cache-Control: max-age=3600 */
     45 	public static final String CacheControl = "Cache-Control";
     46 
     47 	/** Options that are desired for the connection.
     48 	 * <p>
     49 	 * Example: Connection: close */
     50 	public static final String Connection = "Connection";
     51 
     52 	/** The type of encoding used on the data. See HTTP compression.
     53 	 * <p>
     54 	 * Example: Content-Encoding: gzip */
     55 	public static final String ContentEncoding = "Content-Encoding";
     56 
     57 	/** The language the content is in.
     58 	 * <p>
     59 	 * Example: Content-Language: da */
     60 	public static final String ContentLanguage = "Content-Language";
     61 
     62 	/** The length of the response body in octets (8-bit bytes).
     63 	 * <p>
     64 	 * Example: Content-Length: 348 */
     65 	public static final String ContentLength = "Content-Length";
     66 
     67 	/** An alternate location for the returned data.
     68 	 * <p>
     69 	 * Example: Content-Location: /index.htm */
     70 	public static final String ContentLocation = "Content-Location";
     71 
     72 	/** A Base64-encoded binary MD5 sum of the content of the response.
     73 	 * <p>
     74 	 * Example: Content-MD5: Q2hlY2sgSW50ZWdyaXR5IQ== */
     75 	public static final String ContentMD5 = "Content-MD5";
     76 
     77 	/** An opportunity to raise a "File Download" dialogue box for a known MIME type with binary format or suggest a filename for
     78 	 * dynamic content. Quotes are necessary with special characters.
     79 	 * <p>
     80 	 * Example: Content-Disposition: attachment; filename="fname.ext" */
     81 	public static final String ContentDisposition = "Content-Disposition";
     82 
     83 	/** Where in a full body message this partial message belongs.
     84 	 * <p>
     85 	 * Example: Content-Range: bytes 21010-47021/47022 */
     86 	public static final String ContentRange = "Content-Range";
     87 
     88 	/** The MIME type of this content.
     89 	 * <p>
     90 	 * Example: Content-Type: text/html; charset=utf-8 */
     91 	public static final String ContentType = "Content-Type";
     92 
     93 	/** The date and time that the message was sent (in "HTTP-date" format as defined by RFC 7231).
     94 	 * <p>
     95 	 * Example: Date: Tue, 15 Nov 1994 08:12:31 GMT */
     96 	public static final String Date = "Date";
     97 
     98 	/** An identifier for a specific version of a resource, often a message digest.
     99 	 * <p>
    100 	 * Example: ETag: "737060cd8c284d8af7ad3082f209582d" */
    101 	public static final String ETag = "ETag";
    102 
    103 	/** Gives the date/time after which the response is considered stale.
    104 	 * <p>
    105 	 * Example: Expires: Thu, 01 Dec 1994 16:00:00 GMT */
    106 	public static final String Expires = "Expires";
    107 
    108 	/** The last modified date for the requested object (in "HTTP-date" format as defined by RFC 7231).
    109 	 * <p>
    110 	 * Example: Last-Modified: Tue, 15 Nov 1994 12:45:26 GMT */
    111 	public static final String LastModified = "Last-Modified";
    112 
    113 	/** Used to express a typed relationship with another resource, where the relation type is defined by RFC 5988.
    114 	 * <p>
    115 	 * Example: Link: </feed>; rel="alternate" */
    116 	public static final String Link = "Link";
    117 
    118 	/** Used in redirection, or when a new resource has been created.
    119 	 * <p>
    120 	 * Example: Location: http://www.w3.org/pub/WWW/People.html */
    121 	public static final String Location = "Location";
    122 
    123 	/** This field is supposed to set P3P policy, in the form of P3P:CP="your_compact_policy". However, P3P did not take off, most
    124 	 * browsers have never fully implemented it, a lot of websites set this field with fake policy text, that was enough to fool
    125 	 * browsers the existence of P3P policy and grant permissions for third party cookies.
    126 	 * <p>
    127 	 * Example: P3P: CP=
    128 	 * "This is not a P3P policy! See http://www.google.com/support/accounts/bin/answer.py?hl=en&answer=151657 for more info." */
    129 	public static final String P3P = "P3P";
    130 
    131 	/** Implementation-specific fields that may have various effects anywhere along the request-response chain.
    132 	 * <p>
    133 	 * Example: Pragma: no-cache */
    134 	public static final String Pragma = "Pragma";
    135 
    136 	/** Request authentication to access the proxy.
    137 	 * <p>
    138 	 * Example: Proxy-Authenticate: Basic */
    139 	public static final String ProxyAuthenticate = "Proxy-Authenticate";
    140 
    141 	/** Used in redirection, or when a new resource has been created. This refresh redirects after 5 seconds.
    142 	 * <p>
    143 	 * Example: Refresh: 5; url=http://www.w3.org/pub/WWW/People.html */
    144 	public static final String Refresh = "Refresh";
    145 
    146 	/** If an entity is temporarily unavailable, this instructs the client to try again later. Value could be a specified period of
    147 	 * time (in seconds) or a HTTP-date.
    148 	 * <p>
    149 	 * Example: Example 1: Retry-After: 120Example 2: Retry-After: Fri, 07 Nov 2014 23:59:59 GMT */
    150 	public static final String RetryAfter = "Retry-After";
    151 
    152 	/** A name for the server.
    153 	 * <p>
    154 	 * Example: Server: Apache/2.4.1 (Unix) */
    155 	public static final String Server = "Server";
    156 
    157 	/** An HTTP cookie.
    158 	 * <p>
    159 	 * Example: Set-Cookie: UserID=JohnDoe; Max-Age=3600; Version=1 */
    160 	public static final String SetCookie = "Set-Cookie";
    161 
    162 	/** CGI header field specifying the status of the HTTP response. Normal HTTP responses use a separate "Status-Line" instead,
    163 	 * defined by RFC 7230.
    164 	 * <p>
    165 	 * Example: Status: 200 OK */
    166 	public static final String Status = "Status";
    167 
    168 	/** A HSTS Policy informing the HTTP client how long to cache the HTTPS only policy and whether this applies to subdomains.
    169 	 * <p>
    170 	 * Example: Strict-Transport-Security: max-age=16070400; includeSubDomains */
    171 	public static final String StrictTransportSecurity = "Strict-Transport-Security";
    172 
    173 	/** The Trailer general field value indicates that the given set of header fields is present in the trailer of a message encoded
    174 	 * with chunked transfer coding.
    175 	 * <p>
    176 	 * Example: Trailer: Max-Forwards */
    177 	public static final String Trailer = "Trailer";
    178 
    179 	/** The form of encoding used to safely transfer the entity to the user. Currently defined methods are: chunked, compress,
    180 	 * deflate, gzip, identity.
    181 	 * <p>
    182 	 * Example: Transfer-Encoding: chunked */
    183 	public static final String TransferEncoding = "Transfer-Encoding";
    184 
    185 	/** Ask the client to upgrade to another protocol.
    186 	 * <p>
    187 	 * Example: Upgrade: HTTP/2.0, SHTTP/1.3, IRC/6.9, RTA/x11 */
    188 	public static final String Upgrade = "Upgrade";
    189 
    190 	/** Tells downstream proxies how to match future request headers to decide whether the cached response can be used rather than
    191 	 * requesting a fresh one from the origin server.
    192 	 * <p>
    193 	 * Example: Vary: * */
    194 	public static final String Vary = "Vary";
    195 
    196 	/** Informs the client of proxies through which the response was sent.
    197 	 * <p>
    198 	 * Example: Via: 1.0 fred, 1.1 example.com (Apache/1.1) */
    199 	public static final String Via = "Via";
    200 
    201 	/** A general warning about possible problems with the entity body.
    202 	 * <p>
    203 	 * Example: Warning: 199 Miscellaneous warning */
    204 	public static final String Warning = "Warning";
    205 
    206 	/** Indicates the authentication scheme that should be used to access the requested entity.
    207 	 * <p>
    208 	 * Example: WWW-Authenticate: Basic */
    209 	public static final String WWWAuthenticate = "WWW-Authenticate";
    210 }
    211