juneau-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From jamesbog...@apache.org
Subject [20/51] [partial] incubator-juneau-website git commit: Support for passing in more class types to REST methods.
Date Mon, 08 May 2017 15:32:50 GMT
http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/f1f17bc3/content/site/apidocs/src-html/org/apache/juneau/http/ContentRange.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/src-html/org/apache/juneau/http/ContentRange.html b/content/site/apidocs/src-html/org/apache/juneau/http/ContentRange.html
new file mode 100644
index 0000000..1586ea6
--- /dev/null
+++ b/content/site/apidocs/src-html/org/apache/juneau/http/ContentRange.html
@@ -0,0 +1,198 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html lang="en">
+<head>
+<title>Source code</title>
+<link rel="stylesheet" type="text/css" href="../../../../../javadoc.css" title="Style">
+</head>
+<body>
+<div class="sourceContainer">
+<pre><span class="sourceLineNo">001</span>// ***************************************************************************************************************************<a name="line.1"></a>
+<span class="sourceLineNo">002</span>// * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file *<a name="line.2"></a>
+<span class="sourceLineNo">003</span>// * distributed with this work for additional information regarding copyright ownership.  The ASF licenses this file        *<a name="line.3"></a>
+<span class="sourceLineNo">004</span>// * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance            *<a name="line.4"></a>
+<span class="sourceLineNo">005</span>// * with the License.  You may obtain a copy of the License at                                                              *<a name="line.5"></a>
+<span class="sourceLineNo">006</span>// *                                                                                                                         *<a name="line.6"></a>
+<span class="sourceLineNo">007</span>// *  http://www.apache.org/licenses/LICENSE-2.0                                                                             *<a name="line.7"></a>
+<span class="sourceLineNo">008</span>// *                                                                                                                         *<a name="line.8"></a>
+<span class="sourceLineNo">009</span>// * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an  *<a name="line.9"></a>
+<span class="sourceLineNo">010</span>// * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the License for the        *<a name="line.10"></a>
+<span class="sourceLineNo">011</span>// * specific language governing permissions and limitations under the License.                                              *<a name="line.11"></a>
+<span class="sourceLineNo">012</span>// ***************************************************************************************************************************<a name="line.12"></a>
+<span class="sourceLineNo">013</span>package org.apache.juneau.http;<a name="line.13"></a>
+<span class="sourceLineNo">014</span><a name="line.14"></a>
+<span class="sourceLineNo">015</span>/**<a name="line.15"></a>
+<span class="sourceLineNo">016</span> * Represents a parsed &lt;l&gt;Content-Range&lt;/l&gt; HTTP response header.<a name="line.16"></a>
+<span class="sourceLineNo">017</span> * &lt;p&gt;<a name="line.17"></a>
+<span class="sourceLineNo">018</span> * Where in a full body message this partial message belongs.<a name="line.18"></a>
+<span class="sourceLineNo">019</span> *<a name="line.19"></a>
+<span class="sourceLineNo">020</span> * &lt;h6 class='figure'&gt;Example&lt;/h6&gt;<a name="line.20"></a>
+<span class="sourceLineNo">021</span> * &lt;p class='bcode'&gt;<a name="line.21"></a>
+<span class="sourceLineNo">022</span> *    Content-Range: bytes 21010-47021/47022<a name="line.22"></a>
+<span class="sourceLineNo">023</span> * &lt;/p&gt;<a name="line.23"></a>
+<span class="sourceLineNo">024</span> *<a name="line.24"></a>
+<span class="sourceLineNo">025</span> * &lt;h6 class='topic'&gt;RFC2616 Specification&lt;/h6&gt;<a name="line.25"></a>
+<span class="sourceLineNo">026</span> * The Content-Range entity-header is sent with a partial entity-body to specify where in the full entity-body the<a name="line.26"></a>
+<span class="sourceLineNo">027</span> * partial body should be applied.<a name="line.27"></a>
+<span class="sourceLineNo">028</span> * Range units are defined in section 3.12.<a name="line.28"></a>
+<span class="sourceLineNo">029</span> * &lt;p class='bcode'&gt;<a name="line.29"></a>
+<span class="sourceLineNo">030</span> *    Content-Range = "Content-Range" ":" content-range-spec<a name="line.30"></a>
+<span class="sourceLineNo">031</span> *    content-range-spec      = byte-content-range-spec<a name="line.31"></a>
+<span class="sourceLineNo">032</span> *    byte-content-range-spec = bytes-unit SP<a name="line.32"></a>
+<span class="sourceLineNo">033</span> *                              byte-range-resp-spec "/"<a name="line.33"></a>
+<span class="sourceLineNo">034</span> *                              ( instance-length | "*" )<a name="line.34"></a>
+<span class="sourceLineNo">035</span> *    byte-range-resp-spec = (first-byte-pos "-" last-byte-pos)<a name="line.35"></a>
+<span class="sourceLineNo">036</span> *                                   | "*"<a name="line.36"></a>
+<span class="sourceLineNo">037</span> *    instance-length           = 1*DIGIT<a name="line.37"></a>
+<span class="sourceLineNo">038</span> * &lt;/p&gt;<a name="line.38"></a>
+<span class="sourceLineNo">039</span> * &lt;p&gt;<a name="line.39"></a>
+<span class="sourceLineNo">040</span> * The header SHOULD indicate the total length of the full entity-body, unless this length is unknown or difficult to<a name="line.40"></a>
+<span class="sourceLineNo">041</span> * determine.<a name="line.41"></a>
+<span class="sourceLineNo">042</span> * The asterisk "*" character means that the instance-length is unknown at the time when the response was generated.<a name="line.42"></a>
+<span class="sourceLineNo">043</span> * &lt;p&gt;<a name="line.43"></a>
+<span class="sourceLineNo">044</span> * Unlike byte-ranges-specifier values (see section 14.35.1), a byte- range-resp-spec MUST only specify one range, and<a name="line.44"></a>
+<span class="sourceLineNo">045</span> * MUST contain absolute byte positions for both the first and last byte of the range.<a name="line.45"></a>
+<span class="sourceLineNo">046</span> * &lt;p&gt;<a name="line.46"></a>
+<span class="sourceLineNo">047</span> * A byte-content-range-spec with a byte-range-resp-spec whose last- byte-pos value is less than its first-byte-pos<a name="line.47"></a>
+<span class="sourceLineNo">048</span> * value, or whose instance-length value is less than or equal to its last-byte-pos value, is invalid.<a name="line.48"></a>
+<span class="sourceLineNo">049</span> * The recipient of an invalid byte-content-range- spec MUST ignore it and any content transferred along with it.<a name="line.49"></a>
+<span class="sourceLineNo">050</span> * &lt;p&gt;<a name="line.50"></a>
+<span class="sourceLineNo">051</span> * A server sending a response with status code 416 (Requested range not satisfiable) SHOULD include a Content-Range<a name="line.51"></a>
+<span class="sourceLineNo">052</span> * field with a byte-range- resp-spec of "*".<a name="line.52"></a>
+<span class="sourceLineNo">053</span> * The instance-length specifies the current length of the selected resource.<a name="line.53"></a>
+<span class="sourceLineNo">054</span> * A response with status code 206 (Partial Content) MUST NOT include a Content-Range field with a byte-range-resp-spec<a name="line.54"></a>
+<span class="sourceLineNo">055</span> * of "*".<a name="line.55"></a>
+<span class="sourceLineNo">056</span> * &lt;p&gt;<a name="line.56"></a>
+<span class="sourceLineNo">057</span> * Examples of byte-content-range-spec values, assuming that the entity contains a total of 1234 bytes:<a name="line.57"></a>
+<span class="sourceLineNo">058</span> * &lt;p class='bcode'&gt;<a name="line.58"></a>
+<span class="sourceLineNo">059</span> *    The first 500 bytes:<a name="line.59"></a>
+<span class="sourceLineNo">060</span> *     bytes 0-499/1234<a name="line.60"></a>
+<span class="sourceLineNo">061</span> *    The second 500 bytes:<a name="line.61"></a>
+<span class="sourceLineNo">062</span> *     bytes 500-999/1234<a name="line.62"></a>
+<span class="sourceLineNo">063</span> *    All except for the first 500 bytes:<a name="line.63"></a>
+<span class="sourceLineNo">064</span> *     bytes 500-1233/1234<a name="line.64"></a>
+<span class="sourceLineNo">065</span> *    The last 500 bytes:<a name="line.65"></a>
+<span class="sourceLineNo">066</span> *     bytes 734-1233/1234<a name="line.66"></a>
+<span class="sourceLineNo">067</span> * &lt;/p&gt;<a name="line.67"></a>
+<span class="sourceLineNo">068</span> * &lt;p&gt;<a name="line.68"></a>
+<span class="sourceLineNo">069</span> * When an HTTP message includes the content of a single range (for example, a response to a request for a single range,<a name="line.69"></a>
+<span class="sourceLineNo">070</span> * or to a request for a set of ranges that overlap without any holes), this content is transmitted with a Content-Range<a name="line.70"></a>
+<span class="sourceLineNo">071</span> * header, and a Content-Length header showing the number of bytes actually transferred.<a name="line.71"></a>
+<span class="sourceLineNo">072</span> * For example:<a name="line.72"></a>
+<span class="sourceLineNo">073</span> * &lt;p class='bcode'&gt;<a name="line.73"></a>
+<span class="sourceLineNo">074</span> *    HTTP/1.1 206 Partial content<a name="line.74"></a>
+<span class="sourceLineNo">075</span> *    Date: Wed, 15 Nov 1995 06:25:24 GMT<a name="line.75"></a>
+<span class="sourceLineNo">076</span> *    Last-Modified: Wed, 15 Nov 1995 04:58:08 GMT<a name="line.76"></a>
+<span class="sourceLineNo">077</span> *    Content-Range: bytes 21010-47021/47022<a name="line.77"></a>
+<span class="sourceLineNo">078</span> *    Content-Length: 26012<a name="line.78"></a>
+<span class="sourceLineNo">079</span> *    Content-Type: image/gif<a name="line.79"></a>
+<span class="sourceLineNo">080</span> * &lt;/p&gt;<a name="line.80"></a>
+<span class="sourceLineNo">081</span> * &lt;p&gt;<a name="line.81"></a>
+<span class="sourceLineNo">082</span> * When an HTTP message includes the content of multiple ranges (for example, a response to a request for multiple<a name="line.82"></a>
+<span class="sourceLineNo">083</span> * non-overlapping ranges), these are transmitted as a multipart message.<a name="line.83"></a>
+<span class="sourceLineNo">084</span> * The multipart media type used for this purpose is "multipart/byteranges" as defined in appendix 19.2.<a name="line.84"></a>
+<span class="sourceLineNo">085</span> * See appendix 19.6.3 for a compatibility issue.<a name="line.85"></a>
+<span class="sourceLineNo">086</span> * &lt;p&gt;<a name="line.86"></a>
+<span class="sourceLineNo">087</span> * A response to a request for a single range MUST NOT be sent using the multipart/byteranges media type.<a name="line.87"></a>
+<span class="sourceLineNo">088</span> * A response to a request for multiple ranges, whose result is a single range, MAY be sent as a multipart/byteranges<a name="line.88"></a>
+<span class="sourceLineNo">089</span> * media type with one part.<a name="line.89"></a>
+<span class="sourceLineNo">090</span> * A client that cannot decode a multipart/byteranges message MUST NOT ask for multiple byte-ranges in a single request.<a name="line.90"></a>
+<span class="sourceLineNo">091</span> * &lt;p&gt;<a name="line.91"></a>
+<span class="sourceLineNo">092</span> * When a client requests multiple byte-ranges in one request, the server SHOULD return them in the order that they<a name="line.92"></a>
+<span class="sourceLineNo">093</span> * appeared in the request.<a name="line.93"></a>
+<span class="sourceLineNo">094</span> * &lt;p&gt;<a name="line.94"></a>
+<span class="sourceLineNo">095</span> * If the server ignores a byte-range-spec because it is syntactically invalid, the server SHOULD treat the request as<a name="line.95"></a>
+<span class="sourceLineNo">096</span> * if the invalid Range header field did not exist.<a name="line.96"></a>
+<span class="sourceLineNo">097</span> * (Normally, this means return a 200 response containing the full entity).<a name="line.97"></a>
+<span class="sourceLineNo">098</span> * &lt;p&gt;<a name="line.98"></a>
+<span class="sourceLineNo">099</span> * If the server receives a request (other than one including an If- Range request-header field) with an unsatisfiable<a name="line.99"></a>
+<span class="sourceLineNo">100</span> * Range request- header field<a name="line.100"></a>
+<span class="sourceLineNo">101</span> * (that is, all of whose byte-range-spec values have a first-byte-pos value greater than the current length of the<a name="line.101"></a>
+<span class="sourceLineNo">102</span> * selected resource),<a name="line.102"></a>
+<span class="sourceLineNo">103</span> * it SHOULD return a response code of 416 (Requested range not satisfiable) (section 10.4.17).<a name="line.103"></a>
+<span class="sourceLineNo">104</span> * &lt;p&gt;<a name="line.104"></a>
+<span class="sourceLineNo">105</span> * Note: clients cannot depend on servers to send a 416 (Requested range not satisfiable) response instead of a 200 (OK)<a name="line.105"></a>
+<span class="sourceLineNo">106</span> * response for<a name="line.106"></a>
+<span class="sourceLineNo">107</span> * an unsatisfiable Range request-header, since not all servers implement this request-header.<a name="line.107"></a>
+<span class="sourceLineNo">108</span> */<a name="line.108"></a>
+<span class="sourceLineNo">109</span>public final class ContentRange extends HeaderString {<a name="line.109"></a>
+<span class="sourceLineNo">110</span><a name="line.110"></a>
+<span class="sourceLineNo">111</span>   /**<a name="line.111"></a>
+<span class="sourceLineNo">112</span>    * Returns a parsed &lt;code&gt;Content-Range&lt;/code&gt; header.<a name="line.112"></a>
+<span class="sourceLineNo">113</span>    *<a name="line.113"></a>
+<span class="sourceLineNo">114</span>    * @param value The &lt;code&gt;Content-Range&lt;/code&gt; header string.<a name="line.114"></a>
+<span class="sourceLineNo">115</span>    * @return The parsed &lt;code&gt;Content-Range&lt;/code&gt; header, or &lt;jk&gt;null&lt;/jk&gt; if the string was null.<a name="line.115"></a>
+<span class="sourceLineNo">116</span>    */<a name="line.116"></a>
+<span class="sourceLineNo">117</span>   public static ContentRange forString(String value) {<a name="line.117"></a>
+<span class="sourceLineNo">118</span>      if (value == null)<a name="line.118"></a>
+<span class="sourceLineNo">119</span>         return null;<a name="line.119"></a>
+<span class="sourceLineNo">120</span>      return new ContentRange(value);<a name="line.120"></a>
+<span class="sourceLineNo">121</span>   }<a name="line.121"></a>
+<span class="sourceLineNo">122</span><a name="line.122"></a>
+<span class="sourceLineNo">123</span>   private ContentRange(String value) {<a name="line.123"></a>
+<span class="sourceLineNo">124</span>      super(value);<a name="line.124"></a>
+<span class="sourceLineNo">125</span>   }<a name="line.125"></a>
+<span class="sourceLineNo">126</span>}<a name="line.126"></a>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</pre>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/f1f17bc3/content/site/apidocs/src-html/org/apache/juneau/http/ContentType.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/src-html/org/apache/juneau/http/ContentType.html b/content/site/apidocs/src-html/org/apache/juneau/http/ContentType.html
index 36dcfa2..676e664 100644
--- a/content/site/apidocs/src-html/org/apache/juneau/http/ContentType.html
+++ b/content/site/apidocs/src-html/org/apache/juneau/http/ContentType.html
@@ -20,88 +20,86 @@
 <span class="sourceLineNo">012</span>// ***************************************************************************************************************************<a name="line.12"></a>
 <span class="sourceLineNo">013</span>package org.apache.juneau.http;<a name="line.13"></a>
 <span class="sourceLineNo">014</span><a name="line.14"></a>
-<span class="sourceLineNo">015</span>import java.util.concurrent.*;<a name="line.15"></a>
+<span class="sourceLineNo">015</span>import static org.apache.juneau.http.Constants.*;<a name="line.15"></a>
 <span class="sourceLineNo">016</span><a name="line.16"></a>
-<span class="sourceLineNo">017</span>/**<a name="line.17"></a>
-<span class="sourceLineNo">018</span> * Represents a parsed &lt;code&gt;Content-Type:&lt;/code&gt; HTTP header.<a name="line.18"></a>
-<span class="sourceLineNo">019</span> * &lt;p&gt;<a name="line.19"></a>
-<span class="sourceLineNo">020</span> * The formal RFC2616 header field definition is as follows:<a name="line.20"></a>
-<span class="sourceLineNo">021</span> * &lt;p class='bcode'&gt;<a name="line.21"></a>
-<span class="sourceLineNo">022</span> *    14.17 Content-Type<a name="line.22"></a>
+<span class="sourceLineNo">017</span>import org.apache.juneau.internal.*;<a name="line.17"></a>
+<span class="sourceLineNo">018</span><a name="line.18"></a>
+<span class="sourceLineNo">019</span>/**<a name="line.19"></a>
+<span class="sourceLineNo">020</span> * Represents a parsed &lt;l&gt;Content-Type&lt;/l&gt; HTTP request/response header.<a name="line.20"></a>
+<span class="sourceLineNo">021</span> * &lt;p&gt;<a name="line.21"></a>
+<span class="sourceLineNo">022</span> * The MIME type of this content.<a name="line.22"></a>
 <span class="sourceLineNo">023</span> *<a name="line.23"></a>
-<span class="sourceLineNo">024</span> *    The Content-Type entity-header field indicates the media type of the<a name="line.24"></a>
-<span class="sourceLineNo">025</span> *    entity-body sent to the recipient or, in the case of the HEAD method,<a name="line.25"></a>
-<span class="sourceLineNo">026</span> *    the media type that would have been sent had the request been a GET.<a name="line.26"></a>
-<span class="sourceLineNo">027</span> *<a name="line.27"></a>
-<span class="sourceLineNo">028</span> *       Content-Type   = "Content-Type" ":" media-type<a name="line.28"></a>
-<span class="sourceLineNo">029</span> *<a name="line.29"></a>
-<span class="sourceLineNo">030</span> *    Media types are defined in section 3.7. An example of the field is<a name="line.30"></a>
-<span class="sourceLineNo">031</span> *<a name="line.31"></a>
-<span class="sourceLineNo">032</span> *    Content-Type: text/html; charset=ISO-8859-4<a name="line.32"></a>
-<span class="sourceLineNo">033</span> * &lt;/p&gt;<a name="line.33"></a>
-<span class="sourceLineNo">034</span> */<a name="line.34"></a>
-<span class="sourceLineNo">035</span>public class ContentType extends MediaType {<a name="line.35"></a>
-<span class="sourceLineNo">036</span><a name="line.36"></a>
-<span class="sourceLineNo">037</span>   private static final boolean nocache = Boolean.getBoolean("juneau.http.ContentType.nocache");<a name="line.37"></a>
-<span class="sourceLineNo">038</span>   private static final ConcurrentHashMap&lt;String,ContentType&gt; cache = new ConcurrentHashMap&lt;String,ContentType&gt;();<a name="line.38"></a>
-<span class="sourceLineNo">039</span><a name="line.39"></a>
-<span class="sourceLineNo">040</span>   /**<a name="line.40"></a>
-<span class="sourceLineNo">041</span>    * Returns a parsed &lt;code&gt;Content-Type&lt;/code&gt; header.<a name="line.41"></a>
-<span class="sourceLineNo">042</span>    *<a name="line.42"></a>
-<span class="sourceLineNo">043</span>    * @param s The &lt;code&gt;Content-Type&lt;/code&gt; header string.<a name="line.43"></a>
-<span class="sourceLineNo">044</span>    * @return The parsed &lt;code&gt;Content-Type&lt;/code&gt; header, or &lt;jk&gt;null&lt;/jk&gt; if the string was null.<a name="line.44"></a>
-<span class="sourceLineNo">045</span>    */<a name="line.45"></a>
-<span class="sourceLineNo">046</span>   public static ContentType forString(String s) {<a name="line.46"></a>
-<span class="sourceLineNo">047</span>      if (s == null)<a name="line.47"></a>
-<span class="sourceLineNo">048</span>         return null;<a name="line.48"></a>
-<span class="sourceLineNo">049</span><a name="line.49"></a>
-<span class="sourceLineNo">050</span>      // Prevent OOM in case of DDOS<a name="line.50"></a>
-<span class="sourceLineNo">051</span>      if (cache.size() &gt; 1000)<a name="line.51"></a>
-<span class="sourceLineNo">052</span>         cache.clear();<a name="line.52"></a>
-<span class="sourceLineNo">053</span><a name="line.53"></a>
-<span class="sourceLineNo">054</span>      while (true) {<a name="line.54"></a>
-<span class="sourceLineNo">055</span>         ContentType mt = cache.get(s);<a name="line.55"></a>
-<span class="sourceLineNo">056</span>         if (mt != null)<a name="line.56"></a>
-<span class="sourceLineNo">057</span>            return mt;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>         mt = new ContentType(s);<a name="line.58"></a>
-<span class="sourceLineNo">059</span>         if (nocache)<a name="line.59"></a>
-<span class="sourceLineNo">060</span>            return mt;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>         cache.putIfAbsent(s, mt);<a name="line.61"></a>
-<span class="sourceLineNo">062</span>      }<a name="line.62"></a>
-<span class="sourceLineNo">063</span>   }<a name="line.63"></a>
-<span class="sourceLineNo">064</span><a name="line.64"></a>
-<span class="sourceLineNo">065</span>   private ContentType(String s) {<a name="line.65"></a>
-<span class="sourceLineNo">066</span>      super(s);<a name="line.66"></a>
-<span class="sourceLineNo">067</span>   }<a name="line.67"></a>
-<span class="sourceLineNo">068</span><a name="line.68"></a>
-<span class="sourceLineNo">069</span>   /**<a name="line.69"></a>
-<span class="sourceLineNo">070</span>    * Given a list of media types, returns the best match for this &lt;code&gt;Content-Type&lt;/code&gt; header.<a name="line.70"></a>
-<span class="sourceLineNo">071</span>    * &lt;p&gt;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>    * Note that fuzzy matching is allowed on the media types where the &lt;code&gt;Content-Types&lt;/code&gt; header may<a name="line.72"></a>
-<span class="sourceLineNo">073</span>    * contain additional subtype parts.<a name="line.73"></a>
-<span class="sourceLineNo">074</span>    * &lt;br&gt;For example, given a &lt;code&gt;Content-Type&lt;/code&gt; value of &lt;js&gt;"text/json+activity"&lt;/js&gt;,<a name="line.74"></a>
-<span class="sourceLineNo">075</span>    * the media type &lt;js&gt;"text/json"&lt;/js&gt; will match if &lt;js&gt;"text/json+activity"&lt;/js&gt; or &lt;js&gt;"text/activity+json"&lt;/js&gt;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>    * isn't found.<a name="line.76"></a>
-<span class="sourceLineNo">077</span>    * &lt;br&gt;The purpose for this is to allow parsers to match when artifacts such as &lt;code&gt;id&lt;/code&gt; properties are present<a name="line.77"></a>
-<span class="sourceLineNo">078</span>    * in the header.<a name="line.78"></a>
-<span class="sourceLineNo">079</span>    *<a name="line.79"></a>
-<span class="sourceLineNo">080</span>    * @param mediaTypes The media types to match against.<a name="line.80"></a>
-<span class="sourceLineNo">081</span>    * @return The index into the array of the best match, or &lt;code&gt;-1&lt;/code&gt; if no suitable matches could be found.<a name="line.81"></a>
-<span class="sourceLineNo">082</span>    */<a name="line.82"></a>
-<span class="sourceLineNo">083</span>   public int findMatch(MediaType[] mediaTypes) {<a name="line.83"></a>
-<span class="sourceLineNo">084</span>      int matchQuant = 0, matchIndex = -1;<a name="line.84"></a>
-<span class="sourceLineNo">085</span><a name="line.85"></a>
-<span class="sourceLineNo">086</span>      for (int i = 0; i &lt; mediaTypes.length; i++) {<a name="line.86"></a>
-<span class="sourceLineNo">087</span>         MediaType mt = mediaTypes[i];<a name="line.87"></a>
-<span class="sourceLineNo">088</span>         int matchQuant2 = mt.match(this);<a name="line.88"></a>
-<span class="sourceLineNo">089</span>         if (matchQuant2 &gt; matchQuant) {<a name="line.89"></a>
-<span class="sourceLineNo">090</span>            matchIndex = i;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>         }<a name="line.91"></a>
-<span class="sourceLineNo">092</span>      }<a name="line.92"></a>
-<span class="sourceLineNo">093</span><a name="line.93"></a>
-<span class="sourceLineNo">094</span>      return matchIndex;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>   }<a name="line.95"></a>
-<span class="sourceLineNo">096</span>}<a name="line.96"></a>
+<span class="sourceLineNo">024</span> * &lt;h6 class='figure'&gt;Example&lt;/h6&gt;<a name="line.24"></a>
+<span class="sourceLineNo">025</span> * &lt;p class='bcode'&gt;<a name="line.25"></a>
+<span class="sourceLineNo">026</span> *    Content-Type: text/html; charset=utf-8<a name="line.26"></a>
+<span class="sourceLineNo">027</span> * &lt;/p&gt;<a name="line.27"></a>
+<span class="sourceLineNo">028</span> *<a name="line.28"></a>
+<span class="sourceLineNo">029</span> * &lt;h6 class='topic'&gt;RFC2616 Specification&lt;/h6&gt;<a name="line.29"></a>
+<span class="sourceLineNo">030</span> *<a name="line.30"></a>
+<span class="sourceLineNo">031</span> * The Content-Type entity-header field indicates the media type of the entity-body sent to the recipient or, in the<a name="line.31"></a>
+<span class="sourceLineNo">032</span> * case of the HEAD method, the media type that would have been sent had the request been a GET.<a name="line.32"></a>
+<span class="sourceLineNo">033</span> * &lt;p class='bcode'&gt;<a name="line.33"></a>
+<span class="sourceLineNo">034</span> *    Content-Type   = "Content-Type" ":" media-type<a name="line.34"></a>
+<span class="sourceLineNo">035</span> * &lt;/p&gt;<a name="line.35"></a>
+<span class="sourceLineNo">036</span> * &lt;p&gt;<a name="line.36"></a>
+<span class="sourceLineNo">037</span> * Media types are defined in section 3.7.<a name="line.37"></a>
+<span class="sourceLineNo">038</span> * An example of the field is...<a name="line.38"></a>
+<span class="sourceLineNo">039</span> * &lt;p class='bcode'&gt;<a name="line.39"></a>
+<span class="sourceLineNo">040</span> *    Content-Type: text/html; charset=ISO-8859-4<a name="line.40"></a>
+<span class="sourceLineNo">041</span> * &lt;/p&gt;<a name="line.41"></a>
+<span class="sourceLineNo">042</span> */<a name="line.42"></a>
+<span class="sourceLineNo">043</span>public class ContentType extends MediaType {<a name="line.43"></a>
+<span class="sourceLineNo">044</span><a name="line.44"></a>
+<span class="sourceLineNo">045</span>   private static Cache&lt;String,ContentType&gt; cache = new Cache&lt;String,ContentType&gt;(NOCACHE, CACHE_MAX_SIZE);<a name="line.45"></a>
+<span class="sourceLineNo">046</span><a name="line.46"></a>
+<span class="sourceLineNo">047</span>   /**<a name="line.47"></a>
+<span class="sourceLineNo">048</span>    * Returns a parsed &lt;code&gt;Content-Type&lt;/code&gt; header.<a name="line.48"></a>
+<span class="sourceLineNo">049</span>    *<a name="line.49"></a>
+<span class="sourceLineNo">050</span>    * @param value The &lt;code&gt;Content-Type&lt;/code&gt; header string.<a name="line.50"></a>
+<span class="sourceLineNo">051</span>    * @return The parsed &lt;code&gt;Content-Type&lt;/code&gt; header, or &lt;jk&gt;null&lt;/jk&gt; if the string was null.<a name="line.51"></a>
+<span class="sourceLineNo">052</span>    */<a name="line.52"></a>
+<span class="sourceLineNo">053</span>   public static ContentType forString(String value) {<a name="line.53"></a>
+<span class="sourceLineNo">054</span>      if (value == null)<a name="line.54"></a>
+<span class="sourceLineNo">055</span>         return null;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>      ContentType ct = cache.get(value);<a name="line.56"></a>
+<span class="sourceLineNo">057</span>      if (ct == null)<a name="line.57"></a>
+<span class="sourceLineNo">058</span>         ct = cache.put(value, new ContentType(value));<a name="line.58"></a>
+<span class="sourceLineNo">059</span>      return ct;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>   }<a name="line.60"></a>
+<span class="sourceLineNo">061</span><a name="line.61"></a>
+<span class="sourceLineNo">062</span><a name="line.62"></a>
+<span class="sourceLineNo">063</span>   private ContentType(String s) {<a name="line.63"></a>
+<span class="sourceLineNo">064</span>      super(s);<a name="line.64"></a>
+<span class="sourceLineNo">065</span>   }<a name="line.65"></a>
+<span class="sourceLineNo">066</span><a name="line.66"></a>
+<span class="sourceLineNo">067</span>   /**<a name="line.67"></a>
+<span class="sourceLineNo">068</span>    * Given a list of media types, returns the best match for this &lt;code&gt;Content-Type&lt;/code&gt; header.<a name="line.68"></a>
+<span class="sourceLineNo">069</span>    * &lt;p&gt;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>    * Note that fuzzy matching is allowed on the media types where the &lt;code&gt;Content-Types&lt;/code&gt; header may<a name="line.70"></a>
+<span class="sourceLineNo">071</span>    * contain additional subtype parts.<a name="line.71"></a>
+<span class="sourceLineNo">072</span>    * &lt;br&gt;For example, given a &lt;code&gt;Content-Type&lt;/code&gt; value of &lt;js&gt;"text/json+activity"&lt;/js&gt;,<a name="line.72"></a>
+<span class="sourceLineNo">073</span>    * the media type &lt;js&gt;"text/json"&lt;/js&gt; will match if &lt;js&gt;"text/json+activity"&lt;/js&gt; or &lt;js&gt;"text/activity+json"&lt;/js&gt;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>    * isn't found.<a name="line.74"></a>
+<span class="sourceLineNo">075</span>    * &lt;br&gt;The purpose for this is to allow parsers to match when artifacts such as &lt;code&gt;id&lt;/code&gt; properties are present<a name="line.75"></a>
+<span class="sourceLineNo">076</span>    * in the header.<a name="line.76"></a>
+<span class="sourceLineNo">077</span>    *<a name="line.77"></a>
+<span class="sourceLineNo">078</span>    * @param mediaTypes The media types to match against.<a name="line.78"></a>
+<span class="sourceLineNo">079</span>    * @return The index into the array of the best match, or &lt;code&gt;-1&lt;/code&gt; if no suitable matches could be found.<a name="line.79"></a>
+<span class="sourceLineNo">080</span>    */<a name="line.80"></a>
+<span class="sourceLineNo">081</span>   public int findMatch(MediaType[] mediaTypes) {<a name="line.81"></a>
+<span class="sourceLineNo">082</span>      int matchQuant = 0, matchIndex = -1;<a name="line.82"></a>
+<span class="sourceLineNo">083</span><a name="line.83"></a>
+<span class="sourceLineNo">084</span>      for (int i = 0; i &lt; mediaTypes.length; i++) {<a name="line.84"></a>
+<span class="sourceLineNo">085</span>         MediaType mt = mediaTypes[i];<a name="line.85"></a>
+<span class="sourceLineNo">086</span>         int matchQuant2 = mt.match(this);<a name="line.86"></a>
+<span class="sourceLineNo">087</span>         if (matchQuant2 &gt; matchQuant) {<a name="line.87"></a>
+<span class="sourceLineNo">088</span>            matchIndex = i;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>         }<a name="line.89"></a>
+<span class="sourceLineNo">090</span>      }<a name="line.90"></a>
+<span class="sourceLineNo">091</span><a name="line.91"></a>
+<span class="sourceLineNo">092</span>      return matchIndex;<a name="line.92"></a>
+<span class="sourceLineNo">093</span>   }<a name="line.93"></a>
+<span class="sourceLineNo">094</span>}<a name="line.94"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/f1f17bc3/content/site/apidocs/src-html/org/apache/juneau/http/Date.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/src-html/org/apache/juneau/http/Date.html b/content/site/apidocs/src-html/org/apache/juneau/http/Date.html
new file mode 100644
index 0000000..5053380
--- /dev/null
+++ b/content/site/apidocs/src-html/org/apache/juneau/http/Date.html
@@ -0,0 +1,155 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html lang="en">
+<head>
+<title>Source code</title>
+<link rel="stylesheet" type="text/css" href="../../../../../javadoc.css" title="Style">
+</head>
+<body>
+<div class="sourceContainer">
+<pre><span class="sourceLineNo">001</span>// ***************************************************************************************************************************<a name="line.1"></a>
+<span class="sourceLineNo">002</span>// * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file *<a name="line.2"></a>
+<span class="sourceLineNo">003</span>// * distributed with this work for additional information regarding copyright ownership.  The ASF licenses this file        *<a name="line.3"></a>
+<span class="sourceLineNo">004</span>// * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance            *<a name="line.4"></a>
+<span class="sourceLineNo">005</span>// * with the License.  You may obtain a copy of the License at                                                              *<a name="line.5"></a>
+<span class="sourceLineNo">006</span>// *                                                                                                                         *<a name="line.6"></a>
+<span class="sourceLineNo">007</span>// *  http://www.apache.org/licenses/LICENSE-2.0                                                                             *<a name="line.7"></a>
+<span class="sourceLineNo">008</span>// *                                                                                                                         *<a name="line.8"></a>
+<span class="sourceLineNo">009</span>// * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an  *<a name="line.9"></a>
+<span class="sourceLineNo">010</span>// * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the License for the        *<a name="line.10"></a>
+<span class="sourceLineNo">011</span>// * specific language governing permissions and limitations under the License.                                              *<a name="line.11"></a>
+<span class="sourceLineNo">012</span>// ***************************************************************************************************************************<a name="line.12"></a>
+<span class="sourceLineNo">013</span>package org.apache.juneau.http;<a name="line.13"></a>
+<span class="sourceLineNo">014</span><a name="line.14"></a>
+<span class="sourceLineNo">015</span>/**<a name="line.15"></a>
+<span class="sourceLineNo">016</span> * Represents a parsed &lt;l&gt;Date&lt;/l&gt; HTTP request/response header.<a name="line.16"></a>
+<span class="sourceLineNo">017</span> * &lt;p&gt;<a name="line.17"></a>
+<span class="sourceLineNo">018</span> * The date and time that the message was sent (in "HTTP-date" format as defined by RFC 7231).<a name="line.18"></a>
+<span class="sourceLineNo">019</span> *<a name="line.19"></a>
+<span class="sourceLineNo">020</span> * &lt;h6 class='figure'&gt;Example&lt;/h6&gt;<a name="line.20"></a>
+<span class="sourceLineNo">021</span> * &lt;p class='bcode'&gt;<a name="line.21"></a>
+<span class="sourceLineNo">022</span> *    Date: Tue, 15 Nov 1994 08:12:31 GMT<a name="line.22"></a>
+<span class="sourceLineNo">023</span> * &lt;/p&gt;<a name="line.23"></a>
+<span class="sourceLineNo">024</span> *<a name="line.24"></a>
+<span class="sourceLineNo">025</span> * &lt;h6 class='topic'&gt;RFC2616 Specification&lt;/h6&gt;<a name="line.25"></a>
+<span class="sourceLineNo">026</span> *<a name="line.26"></a>
+<span class="sourceLineNo">027</span> * The Date general-header field represents the date and time at which the message was originated, having the same<a name="line.27"></a>
+<span class="sourceLineNo">028</span> * semantics as orig-date in RFC 822.<a name="line.28"></a>
+<span class="sourceLineNo">029</span> * The field value is an HTTP-date, as described in section 3.3.1; it MUST be sent in RFC 1123 [8]-date format.<a name="line.29"></a>
+<span class="sourceLineNo">030</span> * &lt;p class='bcode'&gt;<a name="line.30"></a>
+<span class="sourceLineNo">031</span> *    Date  = "Date" ":" HTTP-date<a name="line.31"></a>
+<span class="sourceLineNo">032</span> * &lt;/p&gt;<a name="line.32"></a>
+<span class="sourceLineNo">033</span> * &lt;p&gt;<a name="line.33"></a>
+<span class="sourceLineNo">034</span> * An example is...<a name="line.34"></a>
+<span class="sourceLineNo">035</span> * &lt;p class='bcode'&gt;<a name="line.35"></a>
+<span class="sourceLineNo">036</span> *    Date: Tue, 15 Nov 1994 08:12:31 GMT<a name="line.36"></a>
+<span class="sourceLineNo">037</span> * &lt;/p&gt;<a name="line.37"></a>
+<span class="sourceLineNo">038</span> * &lt;p&gt;<a name="line.38"></a>
+<span class="sourceLineNo">039</span> * Origin servers MUST include a Date header field in all responses, except in these cases:<a name="line.39"></a>
+<span class="sourceLineNo">040</span> * &lt;ol&gt;<a name="line.40"></a>
+<span class="sourceLineNo">041</span> *    &lt;li&gt;If the response status code is 100 (Continue) or 101 (Switching Protocols), the response MAY include a Date<a name="line.41"></a>
+<span class="sourceLineNo">042</span> * header field, at the server's option.<a name="line.42"></a>
+<span class="sourceLineNo">043</span> *    &lt;li&gt;If the response status code conveys a server error, e.g. 500 (Internal Server Error) or 503 (Service<a name="line.43"></a>
+<span class="sourceLineNo">044</span> * Unavailable), and it is inconvenient or impossible to generate a valid Date.<a name="line.44"></a>
+<span class="sourceLineNo">045</span> *    &lt;li&gt;If the server does not have a clock that can provide a reasonable approximation of the current time, its<a name="line.45"></a>
+<span class="sourceLineNo">046</span> * responses MUST NOT include a Date header field.<a name="line.46"></a>
+<span class="sourceLineNo">047</span> *       In this case, the rules in section 14.18.1 MUST be followed.<a name="line.47"></a>
+<span class="sourceLineNo">048</span> * &lt;/ol&gt;<a name="line.48"></a>
+<span class="sourceLineNo">049</span> * A received message that does not have a Date header field MUST be assigned one by the recipient if the message will<a name="line.49"></a>
+<span class="sourceLineNo">050</span> * be cached by that recipient or gatewayed via a protocol which requires a Date.<a name="line.50"></a>
+<span class="sourceLineNo">051</span> * An HTTP implementation without a clock MUST NOT cache responses without revalidating them on every use.<a name="line.51"></a>
+<span class="sourceLineNo">052</span> * An HTTP cache, especially a shared cache, SHOULD use a mechanism, such as NTP, to synchronize its clock with a<a name="line.52"></a>
+<span class="sourceLineNo">053</span> * reliable external standard.<a name="line.53"></a>
+<span class="sourceLineNo">054</span> * &lt;p&gt;<a name="line.54"></a>
+<span class="sourceLineNo">055</span> * Clients SHOULD only send a Date header field in messages that include an entity-body, as in the case of the PUT and<a name="line.55"></a>
+<span class="sourceLineNo">056</span> * POST requests, and even then it is optional.<a name="line.56"></a>
+<span class="sourceLineNo">057</span> * A client without a clock MUST NOT send a Date header field in a request.<a name="line.57"></a>
+<span class="sourceLineNo">058</span> * &lt;p&gt;<a name="line.58"></a>
+<span class="sourceLineNo">059</span> * The HTTP-date sent in a Date header SHOULD NOT represent a date and time subsequent to the generation of the message.<a name="line.59"></a>
+<span class="sourceLineNo">060</span> * It SHOULD represent the best available approximation of the date and time of message generation, unless the<a name="line.60"></a>
+<span class="sourceLineNo">061</span> * implementation has no means of generating a reasonably accurate date and time.<a name="line.61"></a>
+<span class="sourceLineNo">062</span> * In theory, the date ought to represent the moment just before the entity is generated.<a name="line.62"></a>
+<span class="sourceLineNo">063</span> * In practice, the date can be generated at any time during the message origination without affecting its semantic<a name="line.63"></a>
+<span class="sourceLineNo">064</span> * value.<a name="line.64"></a>
+<span class="sourceLineNo">065</span> */<a name="line.65"></a>
+<span class="sourceLineNo">066</span>public final class Date extends HeaderDate {<a name="line.66"></a>
+<span class="sourceLineNo">067</span><a name="line.67"></a>
+<span class="sourceLineNo">068</span>   /**<a name="line.68"></a>
+<span class="sourceLineNo">069</span>    * Returns a parsed &lt;code&gt;Date&lt;/code&gt; header.<a name="line.69"></a>
+<span class="sourceLineNo">070</span>    *<a name="line.70"></a>
+<span class="sourceLineNo">071</span>    * @param value The &lt;code&gt;Date&lt;/code&gt; header string.<a name="line.71"></a>
+<span class="sourceLineNo">072</span>    * @return The parsed &lt;code&gt;Date&lt;/code&gt; header, or &lt;jk&gt;null&lt;/jk&gt; if the string was null.<a name="line.72"></a>
+<span class="sourceLineNo">073</span>    */<a name="line.73"></a>
+<span class="sourceLineNo">074</span>   public static Date forString(String value) {<a name="line.74"></a>
+<span class="sourceLineNo">075</span>      if (value == null)<a name="line.75"></a>
+<span class="sourceLineNo">076</span>         return null;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>      return new Date(value);<a name="line.77"></a>
+<span class="sourceLineNo">078</span>   }<a name="line.78"></a>
+<span class="sourceLineNo">079</span><a name="line.79"></a>
+<span class="sourceLineNo">080</span>   private Date(String value) {<a name="line.80"></a>
+<span class="sourceLineNo">081</span>      super(value);<a name="line.81"></a>
+<span class="sourceLineNo">082</span>   }<a name="line.82"></a>
+<span class="sourceLineNo">083</span>}<a name="line.83"></a>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</pre>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/f1f17bc3/content/site/apidocs/src-html/org/apache/juneau/http/ETag.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/src-html/org/apache/juneau/http/ETag.html b/content/site/apidocs/src-html/org/apache/juneau/http/ETag.html
new file mode 100644
index 0000000..15d4ac4
--- /dev/null
+++ b/content/site/apidocs/src-html/org/apache/juneau/http/ETag.html
@@ -0,0 +1,130 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html lang="en">
+<head>
+<title>Source code</title>
+<link rel="stylesheet" type="text/css" href="../../../../../javadoc.css" title="Style">
+</head>
+<body>
+<div class="sourceContainer">
+<pre><span class="sourceLineNo">001</span>// ***************************************************************************************************************************<a name="line.1"></a>
+<span class="sourceLineNo">002</span>// * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file *<a name="line.2"></a>
+<span class="sourceLineNo">003</span>// * distributed with this work for additional information regarding copyright ownership.  The ASF licenses this file        *<a name="line.3"></a>
+<span class="sourceLineNo">004</span>// * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance            *<a name="line.4"></a>
+<span class="sourceLineNo">005</span>// * with the License.  You may obtain a copy of the License at                                                              *<a name="line.5"></a>
+<span class="sourceLineNo">006</span>// *                                                                                                                         *<a name="line.6"></a>
+<span class="sourceLineNo">007</span>// *  http://www.apache.org/licenses/LICENSE-2.0                                                                             *<a name="line.7"></a>
+<span class="sourceLineNo">008</span>// *                                                                                                                         *<a name="line.8"></a>
+<span class="sourceLineNo">009</span>// * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an  *<a name="line.9"></a>
+<span class="sourceLineNo">010</span>// * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the License for the        *<a name="line.10"></a>
+<span class="sourceLineNo">011</span>// * specific language governing permissions and limitations under the License.                                              *<a name="line.11"></a>
+<span class="sourceLineNo">012</span>// ***************************************************************************************************************************<a name="line.12"></a>
+<span class="sourceLineNo">013</span>package org.apache.juneau.http;<a name="line.13"></a>
+<span class="sourceLineNo">014</span><a name="line.14"></a>
+<span class="sourceLineNo">015</span>/**<a name="line.15"></a>
+<span class="sourceLineNo">016</span> * Represents a parsed &lt;l&gt;ETag&lt;/l&gt; HTTP response header.<a name="line.16"></a>
+<span class="sourceLineNo">017</span> * &lt;p&gt;<a name="line.17"></a>
+<span class="sourceLineNo">018</span> * An identifier for a specific version of a resource, often a message digest.<a name="line.18"></a>
+<span class="sourceLineNo">019</span> *<a name="line.19"></a>
+<span class="sourceLineNo">020</span> * &lt;h6 class='figure'&gt;Example&lt;/h6&gt;<a name="line.20"></a>
+<span class="sourceLineNo">021</span> * &lt;p class='bcode'&gt;<a name="line.21"></a>
+<span class="sourceLineNo">022</span> *    ETag: "737060cd8c284d8af7ad3082f209582d"<a name="line.22"></a>
+<span class="sourceLineNo">023</span> * &lt;/p&gt;<a name="line.23"></a>
+<span class="sourceLineNo">024</span> *<a name="line.24"></a>
+<span class="sourceLineNo">025</span> * &lt;h6 class='topic'&gt;RFC2616 Specification&lt;/h6&gt;<a name="line.25"></a>
+<span class="sourceLineNo">026</span> *<a name="line.26"></a>
+<span class="sourceLineNo">027</span> * The ETag response-header field provides the current value of the entity tag for the requested variant.<a name="line.27"></a>
+<span class="sourceLineNo">028</span> * The headers used with entity tags are described in sections 14.24, 14.26 and 14.44.<a name="line.28"></a>
+<span class="sourceLineNo">029</span> * The entity tag MAY be used for comparison with other entities from the same resource (see section 13.3.3).<a name="line.29"></a>
+<span class="sourceLineNo">030</span> * &lt;p class='bcode'&gt;<a name="line.30"></a>
+<span class="sourceLineNo">031</span> *    ETag = "ETag" ":" entity-tag<a name="line.31"></a>
+<span class="sourceLineNo">032</span> * &lt;/p&gt;<a name="line.32"></a>
+<span class="sourceLineNo">033</span> * &lt;p&gt;<a name="line.33"></a>
+<span class="sourceLineNo">034</span> * Examples:<a name="line.34"></a>
+<span class="sourceLineNo">035</span> * &lt;p class='bcode'&gt;<a name="line.35"></a>
+<span class="sourceLineNo">036</span> *    ETag: "xyzzy"<a name="line.36"></a>
+<span class="sourceLineNo">037</span> *    ETag: W/"xyzzy"<a name="line.37"></a>
+<span class="sourceLineNo">038</span> *    ETag: ""<a name="line.38"></a>
+<span class="sourceLineNo">039</span> * &lt;/p&gt;<a name="line.39"></a>
+<span class="sourceLineNo">040</span> */<a name="line.40"></a>
+<span class="sourceLineNo">041</span>public final class ETag extends HeaderString {<a name="line.41"></a>
+<span class="sourceLineNo">042</span><a name="line.42"></a>
+<span class="sourceLineNo">043</span>   /**<a name="line.43"></a>
+<span class="sourceLineNo">044</span>    * Returns a parsed &lt;code&gt;ETag&lt;/code&gt; header.<a name="line.44"></a>
+<span class="sourceLineNo">045</span>    *<a name="line.45"></a>
+<span class="sourceLineNo">046</span>    * @param value The &lt;code&gt;ETag&lt;/code&gt; header string.<a name="line.46"></a>
+<span class="sourceLineNo">047</span>    * @return The parsed &lt;code&gt;ETag&lt;/code&gt; header, or &lt;jk&gt;null&lt;/jk&gt; if the string was null.<a name="line.47"></a>
+<span class="sourceLineNo">048</span>    */<a name="line.48"></a>
+<span class="sourceLineNo">049</span>   public static ETag forString(String value) {<a name="line.49"></a>
+<span class="sourceLineNo">050</span>      if (value == null)<a name="line.50"></a>
+<span class="sourceLineNo">051</span>         return null;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>      return new ETag(value);<a name="line.52"></a>
+<span class="sourceLineNo">053</span>   }<a name="line.53"></a>
+<span class="sourceLineNo">054</span><a name="line.54"></a>
+<span class="sourceLineNo">055</span>   private ETag(String value) {<a name="line.55"></a>
+<span class="sourceLineNo">056</span>      super(value);<a name="line.56"></a>
+<span class="sourceLineNo">057</span>   }<a name="line.57"></a>
+<span class="sourceLineNo">058</span>}<a name="line.58"></a>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</pre>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/f1f17bc3/content/site/apidocs/src-html/org/apache/juneau/http/EntityValidator.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/src-html/org/apache/juneau/http/EntityValidator.html b/content/site/apidocs/src-html/org/apache/juneau/http/EntityValidator.html
new file mode 100644
index 0000000..c566240
--- /dev/null
+++ b/content/site/apidocs/src-html/org/apache/juneau/http/EntityValidator.html
@@ -0,0 +1,144 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html lang="en">
+<head>
+<title>Source code</title>
+<link rel="stylesheet" type="text/css" href="../../../../../javadoc.css" title="Style">
+</head>
+<body>
+<div class="sourceContainer">
+<pre><span class="sourceLineNo">001</span>// ***************************************************************************************************************************<a name="line.1"></a>
+<span class="sourceLineNo">002</span>// * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file *<a name="line.2"></a>
+<span class="sourceLineNo">003</span>// * distributed with this work for additional information regarding copyright ownership.  The ASF licenses this file        *<a name="line.3"></a>
+<span class="sourceLineNo">004</span>// * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance            *<a name="line.4"></a>
+<span class="sourceLineNo">005</span>// * with the License.  You may obtain a copy of the License at                                                              *<a name="line.5"></a>
+<span class="sourceLineNo">006</span>// *                                                                                                                         *<a name="line.6"></a>
+<span class="sourceLineNo">007</span>// *  http://www.apache.org/licenses/LICENSE-2.0                                                                             *<a name="line.7"></a>
+<span class="sourceLineNo">008</span>// *                                                                                                                         *<a name="line.8"></a>
+<span class="sourceLineNo">009</span>// * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an  *<a name="line.9"></a>
+<span class="sourceLineNo">010</span>// * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the License for the        *<a name="line.10"></a>
+<span class="sourceLineNo">011</span>// * specific language governing permissions and limitations under the License.                                              *<a name="line.11"></a>
+<span class="sourceLineNo">012</span>// ***************************************************************************************************************************<a name="line.12"></a>
+<span class="sourceLineNo">013</span>package org.apache.juneau.http;<a name="line.13"></a>
+<span class="sourceLineNo">014</span><a name="line.14"></a>
+<span class="sourceLineNo">015</span>/**<a name="line.15"></a>
+<span class="sourceLineNo">016</span> * Represents a validator value.<a name="line.16"></a>
+<span class="sourceLineNo">017</span> * &lt;p&gt;<a name="line.17"></a>
+<span class="sourceLineNo">018</span> * &lt;h6 class='figure'&gt;Example&lt;/h6&gt;<a name="line.18"></a>
+<span class="sourceLineNo">019</span> * &lt;p class='bcode'&gt;<a name="line.19"></a>
+<span class="sourceLineNo">020</span> *    ETag: "123456789"    – A strong ETag validator<a name="line.20"></a>
+<span class="sourceLineNo">021</span> *    ETag: W/"123456789"  – A weak ETag validator<a name="line.21"></a>
+<span class="sourceLineNo">022</span> * &lt;/p&gt;<a name="line.22"></a>
+<span class="sourceLineNo">023</span> */<a name="line.23"></a>
+<span class="sourceLineNo">024</span>public class EntityValidator {<a name="line.24"></a>
+<span class="sourceLineNo">025</span><a name="line.25"></a>
+<span class="sourceLineNo">026</span>   private final String value;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>   private final boolean isWeak;<a name="line.27"></a>
+<span class="sourceLineNo">028</span><a name="line.28"></a>
+<span class="sourceLineNo">029</span>   /**<a name="line.29"></a>
+<span class="sourceLineNo">030</span>    * Constructor.<a name="line.30"></a>
+<span class="sourceLineNo">031</span>    *<a name="line.31"></a>
+<span class="sourceLineNo">032</span>    * @param value The validator string value.<a name="line.32"></a>
+<span class="sourceLineNo">033</span>    */<a name="line.33"></a>
+<span class="sourceLineNo">034</span>   protected EntityValidator(String value) {<a name="line.34"></a>
+<span class="sourceLineNo">035</span>      value = value.trim();<a name="line.35"></a>
+<span class="sourceLineNo">036</span>      isWeak = value.startsWith("W/");<a name="line.36"></a>
+<span class="sourceLineNo">037</span>      if (isWeak)<a name="line.37"></a>
+<span class="sourceLineNo">038</span>         value = value.substring(2);<a name="line.38"></a>
+<span class="sourceLineNo">039</span>      if (value.length() &gt; 1 &amp;&amp; value.charAt(0) == '"' &amp;&amp; value.charAt(value.length()-1) == '"')<a name="line.39"></a>
+<span class="sourceLineNo">040</span>         value = value.substring(1, value.length()-1);<a name="line.40"></a>
+<span class="sourceLineNo">041</span>      this.value = value;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>   }<a name="line.42"></a>
+<span class="sourceLineNo">043</span><a name="line.43"></a>
+<span class="sourceLineNo">044</span>   /**<a name="line.44"></a>
+<span class="sourceLineNo">045</span>    * Returns the validator value stripped of quotes and weak tag.<a name="line.45"></a>
+<span class="sourceLineNo">046</span>    * @return The validator value.<a name="line.46"></a>
+<span class="sourceLineNo">047</span>    */<a name="line.47"></a>
+<span class="sourceLineNo">048</span>   public String asString() {<a name="line.48"></a>
+<span class="sourceLineNo">049</span>      return value;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>   }<a name="line.50"></a>
+<span class="sourceLineNo">051</span><a name="line.51"></a>
+<span class="sourceLineNo">052</span>   /**<a name="line.52"></a>
+<span class="sourceLineNo">053</span>    * Returns &lt;jk&gt;true&lt;/jk&gt; if the weak flag is present in the value.<a name="line.53"></a>
+<span class="sourceLineNo">054</span>    * @return &lt;jk&gt;true&lt;/jk&gt; if the weak flag is present in the value.<a name="line.54"></a>
+<span class="sourceLineNo">055</span>    */<a name="line.55"></a>
+<span class="sourceLineNo">056</span>   public boolean isWeak() {<a name="line.56"></a>
+<span class="sourceLineNo">057</span>      return isWeak;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>   }<a name="line.58"></a>
+<span class="sourceLineNo">059</span><a name="line.59"></a>
+<span class="sourceLineNo">060</span>   /**<a name="line.60"></a>
+<span class="sourceLineNo">061</span>    * Returns &lt;jk&gt;true&lt;/jk&gt; if the validator string value is &lt;code&gt;*&lt;/code&gt;.<a name="line.61"></a>
+<span class="sourceLineNo">062</span>    * @return &lt;jk&gt;true&lt;/jk&gt; if the validator string value is &lt;code&gt;*&lt;/code&gt;.<a name="line.62"></a>
+<span class="sourceLineNo">063</span>    */<a name="line.63"></a>
+<span class="sourceLineNo">064</span>   public boolean isAny() {<a name="line.64"></a>
+<span class="sourceLineNo">065</span>      return "*".equals(value);<a name="line.65"></a>
+<span class="sourceLineNo">066</span>   }<a name="line.66"></a>
+<span class="sourceLineNo">067</span><a name="line.67"></a>
+<span class="sourceLineNo">068</span>   @Override<a name="line.68"></a>
+<span class="sourceLineNo">069</span>   public String toString() {<a name="line.69"></a>
+<span class="sourceLineNo">070</span>      return (isWeak ? "W/" : "") + (isAny() ? "*" : ('"' + value + '"'));<a name="line.70"></a>
+<span class="sourceLineNo">071</span>   }<a name="line.71"></a>
+<span class="sourceLineNo">072</span>}<a name="line.72"></a>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</pre>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/f1f17bc3/content/site/apidocs/src-html/org/apache/juneau/http/Expect.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/src-html/org/apache/juneau/http/Expect.html b/content/site/apidocs/src-html/org/apache/juneau/http/Expect.html
new file mode 100644
index 0000000..b5974e7
--- /dev/null
+++ b/content/site/apidocs/src-html/org/apache/juneau/http/Expect.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html lang="en">
+<head>
+<title>Source code</title>
+<link rel="stylesheet" type="text/css" href="../../../../../javadoc.css" title="Style">
+</head>
+<body>
+<div class="sourceContainer">
+<pre><span class="sourceLineNo">001</span>// ***************************************************************************************************************************<a name="line.1"></a>
+<span class="sourceLineNo">002</span>// * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file *<a name="line.2"></a>
+<span class="sourceLineNo">003</span>// * distributed with this work for additional information regarding copyright ownership.  The ASF licenses this file        *<a name="line.3"></a>
+<span class="sourceLineNo">004</span>// * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance            *<a name="line.4"></a>
+<span class="sourceLineNo">005</span>// * with the License.  You may obtain a copy of the License at                                                              *<a name="line.5"></a>
+<span class="sourceLineNo">006</span>// *                                                                                                                         *<a name="line.6"></a>
+<span class="sourceLineNo">007</span>// *  http://www.apache.org/licenses/LICENSE-2.0                                                                             *<a name="line.7"></a>
+<span class="sourceLineNo">008</span>// *                                                                                                                         *<a name="line.8"></a>
+<span class="sourceLineNo">009</span>// * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an  *<a name="line.9"></a>
+<span class="sourceLineNo">010</span>// * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the License for the        *<a name="line.10"></a>
+<span class="sourceLineNo">011</span>// * specific language governing permissions and limitations under the License.                                              *<a name="line.11"></a>
+<span class="sourceLineNo">012</span>// ***************************************************************************************************************************<a name="line.12"></a>
+<span class="sourceLineNo">013</span>package org.apache.juneau.http;<a name="line.13"></a>
+<span class="sourceLineNo">014</span><a name="line.14"></a>
+<span class="sourceLineNo">015</span>/**<a name="line.15"></a>
+<span class="sourceLineNo">016</span> * Represents a parsed &lt;l&gt;Expect&lt;/l&gt; HTTP request header.<a name="line.16"></a>
+<span class="sourceLineNo">017</span> * &lt;p&gt;<a name="line.17"></a>
+<span class="sourceLineNo">018</span> * Indicates that particular server behaviors are required by the client.<a name="line.18"></a>
+<span class="sourceLineNo">019</span> *<a name="line.19"></a>
+<span class="sourceLineNo">020</span> * &lt;h6 class='figure'&gt;Example&lt;/h6&gt;<a name="line.20"></a>
+<span class="sourceLineNo">021</span> * &lt;p class='bcode'&gt;<a name="line.21"></a>
+<span class="sourceLineNo">022</span> *    Expect: 100-continue<a name="line.22"></a>
+<span class="sourceLineNo">023</span> * &lt;/p&gt;<a name="line.23"></a>
+<span class="sourceLineNo">024</span> *<a name="line.24"></a>
+<span class="sourceLineNo">025</span> * &lt;h6 class='topic'&gt;RFC2616 Specification&lt;/h6&gt;<a name="line.25"></a>
+<span class="sourceLineNo">026</span> *<a name="line.26"></a>
+<span class="sourceLineNo">027</span> * The Expect request-header field is used to indicate that particular server behaviors are required by the client.<a name="line.27"></a>
+<span class="sourceLineNo">028</span> * &lt;p class='bcode'&gt;<a name="line.28"></a>
+<span class="sourceLineNo">029</span> *    Expect       =  "Expect" ":" 1#expectation<a name="line.29"></a>
+<span class="sourceLineNo">030</span> *    expectation  =  "100-continue" | expectation-extension<a name="line.30"></a>
+<span class="sourceLineNo">031</span> *    expectation-extension =  token [ "=" ( token | quoted-string )<a name="line.31"></a>
+<span class="sourceLineNo">032</span> *                             *expect-params ]<a name="line.32"></a>
+<span class="sourceLineNo">033</span> *    expect-params =  ";" token [ "=" ( token | quoted-string ) ]<a name="line.33"></a>
+<span class="sourceLineNo">034</span> * &lt;/p&gt;<a name="line.34"></a>
+<span class="sourceLineNo">035</span> * &lt;p&gt;<a name="line.35"></a>
+<span class="sourceLineNo">036</span> * A server that does not understand or is unable to comply with any of the expectation values in the Expect field of a<a name="line.36"></a>
+<span class="sourceLineNo">037</span> * request MUST respond with appropriate error status.<a name="line.37"></a>
+<span class="sourceLineNo">038</span> * The server MUST respond with a 417 (Expectation Failed) status if any of the expectations cannot be met or, if there<a name="line.38"></a>
+<span class="sourceLineNo">039</span> * are other problems with the request, some other 4xx status.<a name="line.39"></a>
+<span class="sourceLineNo">040</span> * &lt;p&gt;<a name="line.40"></a>
+<span class="sourceLineNo">041</span> * This header field is defined with extensible syntax to allow for future extensions.<a name="line.41"></a>
+<span class="sourceLineNo">042</span> * If a server receives a request containing an Expect field that includes an expectation-extension that it does not<a name="line.42"></a>
+<span class="sourceLineNo">043</span> * support, it MUST respond with a 417 (Expectation Failed) status.<a name="line.43"></a>
+<span class="sourceLineNo">044</span> * &lt;p&gt;<a name="line.44"></a>
+<span class="sourceLineNo">045</span> * Comparison of expectation values is case-insensitive for unquoted tokens (including the 100-continue token), and is<a name="line.45"></a>
+<span class="sourceLineNo">046</span> * case-sensitive for quoted-string expectation-extensions.<a name="line.46"></a>
+<span class="sourceLineNo">047</span> * &lt;p&gt;<a name="line.47"></a>
+<span class="sourceLineNo">048</span> * The Expect mechanism is hop-by-hop: that is, an HTTP/1.1 proxy MUST return a 417 (Expectation Failed) status if it<a name="line.48"></a>
+<span class="sourceLineNo">049</span> * receives a request with an expectation that it cannot meet.<a name="line.49"></a>
+<span class="sourceLineNo">050</span> * However, the Expect request-header itself is end-to-end; it MUST be forwarded if the request is forwarded.<a name="line.50"></a>
+<span class="sourceLineNo">051</span> * &lt;p&gt;<a name="line.51"></a>
+<span class="sourceLineNo">052</span> * Many older HTTP/1.0 and HTTP/1.1 applications do not understand the Expect header.<a name="line.52"></a>
+<span class="sourceLineNo">053</span> * &lt;p&gt;<a name="line.53"></a>
+<span class="sourceLineNo">054</span> * See section 8.2.3 for the use of the 100 (continue) status.<a name="line.54"></a>
+<span class="sourceLineNo">055</span> */<a name="line.55"></a>
+<span class="sourceLineNo">056</span>public final class Expect extends HeaderString {<a name="line.56"></a>
+<span class="sourceLineNo">057</span><a name="line.57"></a>
+<span class="sourceLineNo">058</span>   /**<a name="line.58"></a>
+<span class="sourceLineNo">059</span>    * Returns a parsed &lt;code&gt;Expect&lt;/code&gt; header.<a name="line.59"></a>
+<span class="sourceLineNo">060</span>    *<a name="line.60"></a>
+<span class="sourceLineNo">061</span>    * @param value The &lt;code&gt;Expect&lt;/code&gt; header string.<a name="line.61"></a>
+<span class="sourceLineNo">062</span>    * @return The parsed &lt;code&gt;Expect&lt;/code&gt; header, or &lt;jk&gt;null&lt;/jk&gt; if the string was null.<a name="line.62"></a>
+<span class="sourceLineNo">063</span>    */<a name="line.63"></a>
+<span class="sourceLineNo">064</span>   public static Expect forString(String value) {<a name="line.64"></a>
+<span class="sourceLineNo">065</span>      if (value == null)<a name="line.65"></a>
+<span class="sourceLineNo">066</span>         return null;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>      return new Expect(value);<a name="line.67"></a>
+<span class="sourceLineNo">068</span>   }<a name="line.68"></a>
+<span class="sourceLineNo">069</span><a name="line.69"></a>
+<span class="sourceLineNo">070</span>   private Expect(String value) {<a name="line.70"></a>
+<span class="sourceLineNo">071</span>      super(value);<a name="line.71"></a>
+<span class="sourceLineNo">072</span>   }<a name="line.72"></a>
+<span class="sourceLineNo">073</span>}<a name="line.73"></a>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</pre>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/f1f17bc3/content/site/apidocs/src-html/org/apache/juneau/http/Expires.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/src-html/org/apache/juneau/http/Expires.html b/content/site/apidocs/src-html/org/apache/juneau/http/Expires.html
new file mode 100644
index 0000000..9384909
--- /dev/null
+++ b/content/site/apidocs/src-html/org/apache/juneau/http/Expires.html
@@ -0,0 +1,152 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html lang="en">
+<head>
+<title>Source code</title>
+<link rel="stylesheet" type="text/css" href="../../../../../javadoc.css" title="Style">
+</head>
+<body>
+<div class="sourceContainer">
+<pre><span class="sourceLineNo">001</span>// ***************************************************************************************************************************<a name="line.1"></a>
+<span class="sourceLineNo">002</span>// * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file *<a name="line.2"></a>
+<span class="sourceLineNo">003</span>// * distributed with this work for additional information regarding copyright ownership.  The ASF licenses this file        *<a name="line.3"></a>
+<span class="sourceLineNo">004</span>// * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance            *<a name="line.4"></a>
+<span class="sourceLineNo">005</span>// * with the License.  You may obtain a copy of the License at                                                              *<a name="line.5"></a>
+<span class="sourceLineNo">006</span>// *                                                                                                                         *<a name="line.6"></a>
+<span class="sourceLineNo">007</span>// *  http://www.apache.org/licenses/LICENSE-2.0                                                                             *<a name="line.7"></a>
+<span class="sourceLineNo">008</span>// *                                                                                                                         *<a name="line.8"></a>
+<span class="sourceLineNo">009</span>// * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an  *<a name="line.9"></a>
+<span class="sourceLineNo">010</span>// * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the License for the        *<a name="line.10"></a>
+<span class="sourceLineNo">011</span>// * specific language governing permissions and limitations under the License.                                              *<a name="line.11"></a>
+<span class="sourceLineNo">012</span>// ***************************************************************************************************************************<a name="line.12"></a>
+<span class="sourceLineNo">013</span>package org.apache.juneau.http;<a name="line.13"></a>
+<span class="sourceLineNo">014</span><a name="line.14"></a>
+<span class="sourceLineNo">015</span>/**<a name="line.15"></a>
+<span class="sourceLineNo">016</span> * Represents a parsed &lt;l&gt;Expires&lt;/l&gt; HTTP response header.<a name="line.16"></a>
+<span class="sourceLineNo">017</span> * &lt;p&gt;<a name="line.17"></a>
+<span class="sourceLineNo">018</span> * Gives the date/time after which the response is considered stale (in "HTTP-date" format as defined by RFC 7231).<a name="line.18"></a>
+<span class="sourceLineNo">019</span> *<a name="line.19"></a>
+<span class="sourceLineNo">020</span> * &lt;h6 class='figure'&gt;Example&lt;/h6&gt;<a name="line.20"></a>
+<span class="sourceLineNo">021</span> * &lt;p class='bcode'&gt;<a name="line.21"></a>
+<span class="sourceLineNo">022</span> *    Expires: Thu, 01 Dec 1994 16:00:00 GMT<a name="line.22"></a>
+<span class="sourceLineNo">023</span> * &lt;/p&gt;<a name="line.23"></a>
+<span class="sourceLineNo">024</span> *<a name="line.24"></a>
+<span class="sourceLineNo">025</span> * &lt;h6 class='topic'&gt;RFC2616 Specification&lt;/h6&gt;<a name="line.25"></a>
+<span class="sourceLineNo">026</span> * The Expires entity-header field gives the date/time after which the response is considered stale.<a name="line.26"></a>
+<span class="sourceLineNo">027</span> * A stale cache entry may not normally be returned by a cache (either a proxy cache or a user agent cache) unless it is<a name="line.27"></a>
+<span class="sourceLineNo">028</span> * first validated with the origin server<a name="line.28"></a>
+<span class="sourceLineNo">029</span> * (or with an intermediate cache that has a fresh copy of the entity).<a name="line.29"></a>
+<span class="sourceLineNo">030</span> * See section 13.2 for further discussion of the expiration model.<a name="line.30"></a>
+<span class="sourceLineNo">031</span> * &lt;p&gt;<a name="line.31"></a>
+<span class="sourceLineNo">032</span> * The presence of an Expires field does not imply that the original resource will change or cease to exist at, before,<a name="line.32"></a>
+<span class="sourceLineNo">033</span> * or after that time.<a name="line.33"></a>
+<span class="sourceLineNo">034</span> * &lt;p&gt;<a name="line.34"></a>
+<span class="sourceLineNo">035</span> * The format is an absolute date and time as defined by HTTP-date in section 3.3.1; it MUST be in RFC 1123 date format:<a name="line.35"></a>
+<span class="sourceLineNo">036</span> * &lt;p class='bcode'&gt;<a name="line.36"></a>
+<span class="sourceLineNo">037</span> *    Expires = "Expires" ":" HTTP-date<a name="line.37"></a>
+<span class="sourceLineNo">038</span> * &lt;/p&gt;<a name="line.38"></a>
+<span class="sourceLineNo">039</span> * &lt;p&gt;<a name="line.39"></a>
+<span class="sourceLineNo">040</span> * An example of its use is...<a name="line.40"></a>
+<span class="sourceLineNo">041</span> * &lt;p class='bcode'&gt;<a name="line.41"></a>
+<span class="sourceLineNo">042</span> *    Expires: Thu, 01 Dec 1994 16:00:00 GMT<a name="line.42"></a>
+<span class="sourceLineNo">043</span> * &lt;/p&gt;<a name="line.43"></a>
+<span class="sourceLineNo">044</span> * &lt;p&gt;<a name="line.44"></a>
+<span class="sourceLineNo">045</span> * Note: if a response includes a Cache-Control field with the max-age directive (see section 14.9.3), that directive<a name="line.45"></a>
+<span class="sourceLineNo">046</span> * overrides the Expires field.<a name="line.46"></a>
+<span class="sourceLineNo">047</span> * &lt;p&gt;<a name="line.47"></a>
+<span class="sourceLineNo">048</span> * HTTP/1.1 clients and caches MUST treat other invalid date formats, especially including the value "0", as in the past<a name="line.48"></a>
+<span class="sourceLineNo">049</span> * (i.e., "already expired").<a name="line.49"></a>
+<span class="sourceLineNo">050</span> * &lt;p&gt;<a name="line.50"></a>
+<span class="sourceLineNo">051</span> * To mark a response as "already expired," an origin server sends an Expires date that is equal to the Date header<a name="line.51"></a>
+<span class="sourceLineNo">052</span> * value.<a name="line.52"></a>
+<span class="sourceLineNo">053</span> * (See the rules for expiration calculations in section 13.2.4.)<a name="line.53"></a>
+<span class="sourceLineNo">054</span> * &lt;p&gt;<a name="line.54"></a>
+<span class="sourceLineNo">055</span> * To mark a response as "never expires," an origin server sends an Expires date approximately one year from the time<a name="line.55"></a>
+<span class="sourceLineNo">056</span> * the response is sent.<a name="line.56"></a>
+<span class="sourceLineNo">057</span> * HTTP/1.1 servers SHOULD NOT send Expires dates more than one year in the future.<a name="line.57"></a>
+<span class="sourceLineNo">058</span> * &lt;p&gt;<a name="line.58"></a>
+<span class="sourceLineNo">059</span> * The presence of an Expires header field with a date value of some time in the future on a response that otherwise<a name="line.59"></a>
+<span class="sourceLineNo">060</span> * would by default be non-cacheable indicates that the response is cacheable, unless indicated otherwise by a<a name="line.60"></a>
+<span class="sourceLineNo">061</span> * Cache-Control header field (section 14.9).<a name="line.61"></a>
+<span class="sourceLineNo">062</span> */<a name="line.62"></a>
+<span class="sourceLineNo">063</span>public final class Expires extends HeaderDate {<a name="line.63"></a>
+<span class="sourceLineNo">064</span><a name="line.64"></a>
+<span class="sourceLineNo">065</span>   /**<a name="line.65"></a>
+<span class="sourceLineNo">066</span>    * Returns a parsed &lt;code&gt;Expires&lt;/code&gt; header.<a name="line.66"></a>
+<span class="sourceLineNo">067</span>    *<a name="line.67"></a>
+<span class="sourceLineNo">068</span>    * @param value The &lt;code&gt;Expires&lt;/code&gt; header string.<a name="line.68"></a>
+<span class="sourceLineNo">069</span>    * @return The parsed &lt;code&gt;Expires&lt;/code&gt; header, or &lt;jk&gt;null&lt;/jk&gt; if the string was null.<a name="line.69"></a>
+<span class="sourceLineNo">070</span>    */<a name="line.70"></a>
+<span class="sourceLineNo">071</span>   public static Expires forString(String value) {<a name="line.71"></a>
+<span class="sourceLineNo">072</span>      if (value == null)<a name="line.72"></a>
+<span class="sourceLineNo">073</span>         return null;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>      return new Expires(value);<a name="line.74"></a>
+<span class="sourceLineNo">075</span>   }<a name="line.75"></a>
+<span class="sourceLineNo">076</span><a name="line.76"></a>
+<span class="sourceLineNo">077</span>   private Expires(String value) {<a name="line.77"></a>
+<span class="sourceLineNo">078</span>      super(value);<a name="line.78"></a>
+<span class="sourceLineNo">079</span>   }<a name="line.79"></a>
+<span class="sourceLineNo">080</span>}<a name="line.80"></a>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</pre>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/f1f17bc3/content/site/apidocs/src-html/org/apache/juneau/http/From.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/src-html/org/apache/juneau/http/From.html b/content/site/apidocs/src-html/org/apache/juneau/http/From.html
new file mode 100644
index 0000000..24cd86e
--- /dev/null
+++ b/content/site/apidocs/src-html/org/apache/juneau/http/From.html
@@ -0,0 +1,144 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html lang="en">
+<head>
+<title>Source code</title>
+<link rel="stylesheet" type="text/css" href="../../../../../javadoc.css" title="Style">
+</head>
+<body>
+<div class="sourceContainer">
+<pre><span class="sourceLineNo">001</span>// ***************************************************************************************************************************<a name="line.1"></a>
+<span class="sourceLineNo">002</span>// * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file *<a name="line.2"></a>
+<span class="sourceLineNo">003</span>// * distributed with this work for additional information regarding copyright ownership.  The ASF licenses this file        *<a name="line.3"></a>
+<span class="sourceLineNo">004</span>// * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance            *<a name="line.4"></a>
+<span class="sourceLineNo">005</span>// * with the License.  You may obtain a copy of the License at                                                              *<a name="line.5"></a>
+<span class="sourceLineNo">006</span>// *                                                                                                                         *<a name="line.6"></a>
+<span class="sourceLineNo">007</span>// *  http://www.apache.org/licenses/LICENSE-2.0                                                                             *<a name="line.7"></a>
+<span class="sourceLineNo">008</span>// *                                                                                                                         *<a name="line.8"></a>
+<span class="sourceLineNo">009</span>// * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an  *<a name="line.9"></a>
+<span class="sourceLineNo">010</span>// * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the License for the        *<a name="line.10"></a>
+<span class="sourceLineNo">011</span>// * specific language governing permissions and limitations under the License.                                              *<a name="line.11"></a>
+<span class="sourceLineNo">012</span>// ***************************************************************************************************************************<a name="line.12"></a>
+<span class="sourceLineNo">013</span>package org.apache.juneau.http;<a name="line.13"></a>
+<span class="sourceLineNo">014</span><a name="line.14"></a>
+<span class="sourceLineNo">015</span>/**<a name="line.15"></a>
+<span class="sourceLineNo">016</span> * Represents a parsed &lt;l&gt;From&lt;/l&gt; HTTP request header.<a name="line.16"></a>
+<span class="sourceLineNo">017</span> * &lt;p&gt;<a name="line.17"></a>
+<span class="sourceLineNo">018</span> * The email address of the user making the request.<a name="line.18"></a>
+<span class="sourceLineNo">019</span> *<a name="line.19"></a>
+<span class="sourceLineNo">020</span> * &lt;h6 class='figure'&gt;Example&lt;/h6&gt;<a name="line.20"></a>
+<span class="sourceLineNo">021</span> * &lt;p class='bcode'&gt;<a name="line.21"></a>
+<span class="sourceLineNo">022</span> *    From: user@example.com<a name="line.22"></a>
+<span class="sourceLineNo">023</span> * &lt;/p&gt;<a name="line.23"></a>
+<span class="sourceLineNo">024</span> *<a name="line.24"></a>
+<span class="sourceLineNo">025</span> * &lt;h6 class='topic'&gt;RFC2616 Specification&lt;/h6&gt;<a name="line.25"></a>
+<span class="sourceLineNo">026</span> *<a name="line.26"></a>
+<span class="sourceLineNo">027</span> * The From request-header field, if given, SHOULD contain an Internet e-mail address for the human user who controls<a name="line.27"></a>
+<span class="sourceLineNo">028</span> * the requesting user agent.<a name="line.28"></a>
+<span class="sourceLineNo">029</span> * The address SHOULD be machine-usable, as defined by "mailbox" in RFC 822 [9] as updated by RFC 1123 [8]:<a name="line.29"></a>
+<span class="sourceLineNo">030</span> * &lt;p class='bcode'&gt;<a name="line.30"></a>
+<span class="sourceLineNo">031</span> *    From   = "From" ":" mailbox<a name="line.31"></a>
+<span class="sourceLineNo">032</span> * &lt;/p&gt;<a name="line.32"></a>
+<span class="sourceLineNo">033</span> * &lt;p&gt;<a name="line.33"></a>
+<span class="sourceLineNo">034</span> * An example is:<a name="line.34"></a>
+<span class="sourceLineNo">035</span> * &lt;p class='bcode'&gt;<a name="line.35"></a>
+<span class="sourceLineNo">036</span> *    From: webmaster@w3.org<a name="line.36"></a>
+<span class="sourceLineNo">037</span> * &lt;/p&gt;<a name="line.37"></a>
+<span class="sourceLineNo">038</span> * &lt;p&gt;<a name="line.38"></a>
+<span class="sourceLineNo">039</span> * This header field MAY be used for logging purposes and as a means for identifying the source of invalid or unwanted<a name="line.39"></a>
+<span class="sourceLineNo">040</span> * requests.<a name="line.40"></a>
+<span class="sourceLineNo">041</span> * It SHOULD NOT be used as an insecure form of access protection.<a name="line.41"></a>
+<span class="sourceLineNo">042</span> * The interpretation of this field is that the request is being performed on behalf of the person given, who accepts<a name="line.42"></a>
+<span class="sourceLineNo">043</span> * responsibility for the method performed.<a name="line.43"></a>
+<span class="sourceLineNo">044</span> * In particular, robot agents SHOULD include this header so that the person responsible for running the robot can be<a name="line.44"></a>
+<span class="sourceLineNo">045</span> * contacted if problems occur on the receiving end.<a name="line.45"></a>
+<span class="sourceLineNo">046</span> * &lt;p&gt;<a name="line.46"></a>
+<span class="sourceLineNo">047</span> * The Internet e-mail address in this field MAY be separate from the Internet host which issued the request.<a name="line.47"></a>
+<span class="sourceLineNo">048</span> * For example, when a request is passed through a proxy the original issuer's address SHOULD be used.<a name="line.48"></a>
+<span class="sourceLineNo">049</span> * &lt;p&gt;<a name="line.49"></a>
+<span class="sourceLineNo">050</span> * The client SHOULD NOT send the From header field without the user's approval, as it might conflict with the user's<a name="line.50"></a>
+<span class="sourceLineNo">051</span> * privacy interests or their site's security policy.<a name="line.51"></a>
+<span class="sourceLineNo">052</span> * It is strongly recommended that the user be able to disable, enable, and modify the value of this field at any time<a name="line.52"></a>
+<span class="sourceLineNo">053</span> * prior to a request.<a name="line.53"></a>
+<span class="sourceLineNo">054</span> */<a name="line.54"></a>
+<span class="sourceLineNo">055</span>public final class From extends HeaderString {<a name="line.55"></a>
+<span class="sourceLineNo">056</span><a name="line.56"></a>
+<span class="sourceLineNo">057</span>   /**<a name="line.57"></a>
+<span class="sourceLineNo">058</span>    * Returns a parsed &lt;code&gt;From&lt;/code&gt; header.<a name="line.58"></a>
+<span class="sourceLineNo">059</span>    *<a name="line.59"></a>
+<span class="sourceLineNo">060</span>    * @param value The &lt;code&gt;From&lt;/code&gt; header string.<a name="line.60"></a>
+<span class="sourceLineNo">061</span>    * @return The parsed &lt;code&gt;From&lt;/code&gt; header, or &lt;jk&gt;null&lt;/jk&gt; if the string was null.<a name="line.61"></a>
+<span class="sourceLineNo">062</span>    */<a name="line.62"></a>
+<span class="sourceLineNo">063</span>   public static From forString(String value) {<a name="line.63"></a>
+<span class="sourceLineNo">064</span>      if (value == null)<a name="line.64"></a>
+<span class="sourceLineNo">065</span>         return null;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>      return new From(value);<a name="line.66"></a>
+<span class="sourceLineNo">067</span>   }<a name="line.67"></a>
+<span class="sourceLineNo">068</span><a name="line.68"></a>
+<span class="sourceLineNo">069</span>   private From(String value) {<a name="line.69"></a>
+<span class="sourceLineNo">070</span>      super(value);<a name="line.70"></a>
+<span class="sourceLineNo">071</span>   }<a name="line.71"></a>
+<span class="sourceLineNo">072</span>}<a name="line.72"></a>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</pre>
+</div>
+</body>
+</html>


Mime
View raw message