http://git-wip-us.apache.org/repos/asf/incubator-juneau-website/blob/f1f17bc3/content/site/apidocs/src-html/org/apache/juneau/http/HeaderValidatorArray.html
----------------------------------------------------------------------
diff --git 
a/content/site/apidocs/src-html/org/apache/juneau/http/HeaderValidatorArray.html
 
b/content/site/apidocs/src-html/org/apache/juneau/http/HeaderValidatorArray.html
new file mode 100644
index 0000000..648866f
--- /dev/null
+++ 
b/content/site/apidocs/src-html/org/apache/juneau/http/HeaderValidatorArray.html
@@ -0,0 +1,127 @@
+<!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>import org.apache.juneau.internal.*;<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> * Category of headers that consist of a 
comma-delimited list of validator values.<a name="line.18"></a>
+<span class="sourceLineNo">019</span> * &lt;p&gt;<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> *    If-Match: "xyzzy"<a 
name="line.22"></a>
+<span class="sourceLineNo">023</span> *    If-Match: "xyzzy", "r2d2xxxx", 
"c3piozzzz"<a name="line.23"></a>
+<span class="sourceLineNo">024</span> *    If-Match: *<a name="line.24"></a>
+<span class="sourceLineNo">025</span> * &lt;/p&gt;<a name="line.25"></a>
+<span class="sourceLineNo">026</span> */<a name="line.26"></a>
+<span class="sourceLineNo">027</span>public class HeaderValidatorArray {<a 
name="line.27"></a>
+<span class="sourceLineNo">028</span><a name="line.28"></a>
+<span class="sourceLineNo">029</span>   private final EntityValidator[] 
value;<a name="line.29"></a>
+<span class="sourceLineNo">030</span><a name="line.30"></a>
+<span class="sourceLineNo">031</span>   /**<a name="line.31"></a>
+<span class="sourceLineNo">032</span>    * Constructor.<a name="line.32"></a>
+<span class="sourceLineNo">033</span>    * @param value The raw header 
value.<a name="line.33"></a>
+<span class="sourceLineNo">034</span>    */<a name="line.34"></a>
+<span class="sourceLineNo">035</span>   protected HeaderValidatorArray(String 
value) {<a name="line.35"></a>
+<span class="sourceLineNo">036</span>      String[] s = 
StringUtils.split(value, ',');<a name="line.36"></a>
+<span class="sourceLineNo">037</span>      this.value = new 
EntityValidator[s.length];<a name="line.37"></a>
+<span class="sourceLineNo">038</span>      for (int i = 0; i &lt; s.length; 
i++) {<a name="line.38"></a>
+<span class="sourceLineNo">039</span>         this.value[i] = new 
EntityValidator(s[i]);<a name="line.39"></a>
+<span class="sourceLineNo">040</span>      }<a name="line.40"></a>
+<span class="sourceLineNo">041</span>   }<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 this header value as an 
array of {@link EntityValidator} objects.<a name="line.44"></a>
+<span class="sourceLineNo">045</span>    * @return this header value as an 
array of {@link EntityValidator} objects.<a name="line.45"></a>
+<span class="sourceLineNo">046</span>    */<a name="line.46"></a>
+<span class="sourceLineNo">047</span>   public EntityValidator[] 
asValidators() {<a name="line.47"></a>
+<span class="sourceLineNo">048</span>      return value;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>   }<a name="line.49"></a>
+<span class="sourceLineNo">050</span><a name="line.50"></a>
+<span class="sourceLineNo">051</span>   @Override /* Object */<a 
name="line.51"></a>
+<span class="sourceLineNo">052</span>   public String toString() {<a 
name="line.52"></a>
+<span class="sourceLineNo">053</span>      return StringUtils.join(value, ", 
");<a name="line.53"></a>
+<span class="sourceLineNo">054</span>   }<a name="line.54"></a>
+<span class="sourceLineNo">055</span>}<a name="line.55"></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/Host.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/src-html/org/apache/juneau/http/Host.html 
b/content/site/apidocs/src-html/org/apache/juneau/http/Host.html
new file mode 100644
index 0000000..6f735e3
--- /dev/null
+++ b/content/site/apidocs/src-html/org/apache/juneau/http/Host.html
@@ -0,0 +1,147 @@
+<!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;Host&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 domain name of the server (for 
virtual hosting), and the TCP port number on which the server is listening.<a 
name="line.18"></a>
+<span class="sourceLineNo">019</span> * The port number may be omitted if the 
port is the standard port for the service requested.<a name="line.19"></a>
+<span class="sourceLineNo">020</span> * Mandatory since HTTP/1.1.<a 
name="line.20"></a>
+<span class="sourceLineNo">021</span> *<a name="line.21"></a>
+<span class="sourceLineNo">022</span> * &lt;h6 
class='figure'&gt;Example&lt;/h6&gt;<a name="line.22"></a>
+<span class="sourceLineNo">023</span> * &lt;p class='bcode'&gt;<a 
name="line.23"></a>
+<span class="sourceLineNo">024</span> *    Host: en.wikipedia.org:8080<a 
name="line.24"></a>
+<span class="sourceLineNo">025</span> *    Host: en.wikipedia.org<a 
name="line.25"></a>
+<span class="sourceLineNo">026</span> * &lt;/p&gt;<a name="line.26"></a>
+<span class="sourceLineNo">027</span> *<a name="line.27"></a>
+<span class="sourceLineNo">028</span> * &lt;h6 class='topic'&gt;RFC2616 
Specification&lt;/h6&gt;<a name="line.28"></a>
+<span class="sourceLineNo">029</span> *<a name="line.29"></a>
+<span class="sourceLineNo">030</span> * The Host request-header field 
specifies the Internet host and port number of the resource being requested, 
as<a name="line.30"></a>
+<span class="sourceLineNo">031</span> * obtained from the original URI given 
by the user or referring resource (generally an HTTP URL, as described in<a 
name="line.31"></a>
+<span class="sourceLineNo">032</span> * section 3.2.2).<a name="line.32"></a>
+<span class="sourceLineNo">033</span> * The Host field value MUST represent 
the naming authority of the origin server or gateway given by the original 
URL.<a name="line.33"></a>
+<span class="sourceLineNo">034</span> * This allows the origin server or 
gateway to differentiate between internally-ambiguous URLs, such as the root 
"/" URL<a name="line.34"></a>
+<span class="sourceLineNo">035</span> * of a server for multiple host names on 
a single IP address.<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> *    Host = "Host" ":" host [ ":" port ] 
; Section 3.2.2<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> * A "host" without any trailing port 
information implies the default port for the service requested (e.g., "80" for 
an<a name="line.40"></a>
+<span class="sourceLineNo">041</span> * HTTP URL).<a name="line.41"></a>
+<span class="sourceLineNo">042</span> * For example, a request on the origin 
server for &lt;http://www.w3.org/pub/WWW/&gt; would properly include:<a 
name="line.42"></a>
+<span class="sourceLineNo">043</span> * &lt;p class='bcode'&gt;<a 
name="line.43"></a>
+<span class="sourceLineNo">044</span> *    GET /pub/WWW/ HTTP/1.1<a 
name="line.44"></a>
+<span class="sourceLineNo">045</span> *    Host: www.w3.org<a 
name="line.45"></a>
+<span class="sourceLineNo">046</span> * &lt;/p&gt;<a name="line.46"></a>
+<span class="sourceLineNo">047</span> * &lt;p&gt;<a name="line.47"></a>
+<span class="sourceLineNo">048</span> * A client MUST include a Host header 
field in all HTTP/1.1 request messages.<a name="line.48"></a>
+<span class="sourceLineNo">049</span> * If the requested URI does not include 
an Internet host name for the service being requested, then the Host header<a 
name="line.49"></a>
+<span class="sourceLineNo">050</span> * field MUST be given with an empty 
value.<a name="line.50"></a>
+<span class="sourceLineNo">051</span> * An HTTP/1.1 proxy MUST ensure that any 
request message it forwards does contain an appropriate Host header field 
that<a name="line.51"></a>
+<span class="sourceLineNo">052</span> * identifies the service being requested 
by the proxy.<a name="line.52"></a>
+<span class="sourceLineNo">053</span> * All Internet-based HTTP/1.1 servers 
MUST respond with a 400 (Bad Request) status code to any HTTP/1.1 request<a 
name="line.53"></a>
+<span class="sourceLineNo">054</span> * message which lacks a Host header 
field.<a name="line.54"></a>
+<span class="sourceLineNo">055</span> * &lt;p&gt;<a name="line.55"></a>
+<span class="sourceLineNo">056</span> * See sections 5.2 and 19.6.1.1 for 
other requirements relating to Host.<a name="line.56"></a>
+<span class="sourceLineNo">057</span> */<a name="line.57"></a>
+<span class="sourceLineNo">058</span>public final class Host extends 
HeaderString {<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 a parsed 
&lt;code&gt;Host&lt;/code&gt; header.<a name="line.61"></a>
+<span class="sourceLineNo">062</span>    *<a name="line.62"></a>
+<span class="sourceLineNo">063</span>    * @param value The 
&lt;code&gt;Host&lt;/code&gt; header string.<a name="line.63"></a>
+<span class="sourceLineNo">064</span>    * @return The parsed 
&lt;code&gt;Host&lt;/code&gt; header, or &lt;jk&gt;null&lt;/jk&gt; if the 
string was null.<a name="line.64"></a>
+<span class="sourceLineNo">065</span>    */<a name="line.65"></a>
+<span class="sourceLineNo">066</span>   public static Host forString(String 
value) {<a name="line.66"></a>
+<span class="sourceLineNo">067</span>      if (value == null)<a 
name="line.67"></a>
+<span class="sourceLineNo">068</span>         return null;<a 
name="line.68"></a>
+<span class="sourceLineNo">069</span>      return new Host(value);<a 
name="line.69"></a>
+<span class="sourceLineNo">070</span>   }<a name="line.70"></a>
+<span class="sourceLineNo">071</span><a name="line.71"></a>
+<span class="sourceLineNo">072</span>   private Host(String value) {<a 
name="line.72"></a>
+<span class="sourceLineNo">073</span>      super(value);<a name="line.73"></a>
+<span class="sourceLineNo">074</span>   }<a name="line.74"></a>
+<span class="sourceLineNo">075</span>}<a name="line.75"></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/HttpMethod.html
----------------------------------------------------------------------
diff --git 
a/content/site/apidocs/src-html/org/apache/juneau/http/HttpMethod.html 
b/content/site/apidocs/src-html/org/apache/juneau/http/HttpMethod.html
new file mode 100644
index 0000000..3d05d3b
--- /dev/null
+++ b/content/site/apidocs/src-html/org/apache/juneau/http/HttpMethod.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>import java.util.*;<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 valid HTTP 1.1 method names 
per the &lt;a class='doclink' 
href='https://www.ietf.org/rfc/rfc2616.txt'&gt;RFC 2616&lt;/a&gt; spec.<a 
name="line.18"></a>
+<span class="sourceLineNo">019</span> */<a name="line.19"></a>
+<span class="sourceLineNo">020</span>public enum HttpMethod {<a 
name="line.20"></a>
+<span class="sourceLineNo">021</span><a name="line.21"></a>
+<span class="sourceLineNo">022</span>   /** &lt;a class='doclink' 
href='https://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9.2'&gt;OPTIONS&lt;/a&gt;
 */<a name="line.22"></a>
+<span class="sourceLineNo">023</span>   OPTIONS,<a name="line.23"></a>
+<span class="sourceLineNo">024</span><a name="line.24"></a>
+<span class="sourceLineNo">025</span>   /** &lt;a class='doclink' 
href='https://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9.3'&gt;GET&lt;/a&gt;
 */<a name="line.25"></a>
+<span class="sourceLineNo">026</span>   GET,<a name="line.26"></a>
+<span class="sourceLineNo">027</span><a name="line.27"></a>
+<span class="sourceLineNo">028</span>   /** &lt;a class='doclink' 
href='https://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9.4'&gt;HEAD&lt;/a&gt;
 */<a name="line.28"></a>
+<span class="sourceLineNo">029</span>   HEAD,<a name="line.29"></a>
+<span class="sourceLineNo">030</span><a name="line.30"></a>
+<span class="sourceLineNo">031</span>   /** &lt;a class='doclink' 
href='https://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9.5'&gt;POST&lt;/a&gt;
 */<a name="line.31"></a>
+<span class="sourceLineNo">032</span>   POST,<a name="line.32"></a>
+<span class="sourceLineNo">033</span><a name="line.33"></a>
+<span class="sourceLineNo">034</span>   /** &lt;a class='doclink' 
href='https://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9.6'&gt;PUT&lt;/a&gt;
 */<a name="line.34"></a>
+<span class="sourceLineNo">035</span>   PUT,<a name="line.35"></a>
+<span class="sourceLineNo">036</span><a name="line.36"></a>
+<span class="sourceLineNo">037</span>   /** &lt;a class='doclink' 
href='https://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9.7'&gt;DELETE&lt;/a&gt;
 */<a name="line.37"></a>
+<span class="sourceLineNo">038</span>   DELETE,<a name="line.38"></a>
+<span class="sourceLineNo">039</span><a name="line.39"></a>
+<span class="sourceLineNo">040</span>   /** &lt;a class='doclink' 
href='https://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9.8'&gt;TRACE&lt;/a&gt;
 */<a name="line.40"></a>
+<span class="sourceLineNo">041</span>   TRACE,<a name="line.41"></a>
+<span class="sourceLineNo">042</span><a name="line.42"></a>
+<span class="sourceLineNo">043</span>   /** &lt;a class='doclink' 
href='https://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9.9'&gt;CONNECT&lt;/a&gt;
 */<a name="line.43"></a>
+<span class="sourceLineNo">044</span>   CONNECT,<a name="line.44"></a>
+<span class="sourceLineNo">045</span><a name="line.45"></a>
+<span class="sourceLineNo">046</span>   /** A non-standard value. */<a 
name="line.46"></a>
+<span class="sourceLineNo">047</span>   OTHER;<a name="line.47"></a>
+<span class="sourceLineNo">048</span><a name="line.48"></a>
+<span class="sourceLineNo">049</span>   private static final 
Map&lt;String,HttpMethod&gt; cache = new 
TreeMap&lt;String,HttpMethod&gt;(String.CASE_INSENSITIVE_ORDER);<a 
name="line.49"></a>
+<span class="sourceLineNo">050</span>   static {<a name="line.50"></a>
+<span class="sourceLineNo">051</span>      cache.put("OPTIONS", OPTIONS);<a 
name="line.51"></a>
+<span class="sourceLineNo">052</span>      cache.put("GET", GET);<a 
name="line.52"></a>
+<span class="sourceLineNo">053</span>      cache.put("HEAD", HEAD);<a 
name="line.53"></a>
+<span class="sourceLineNo">054</span>      cache.put("POST", POST);<a 
name="line.54"></a>
+<span class="sourceLineNo">055</span>      cache.put("PUT", PUT);<a 
name="line.55"></a>
+<span class="sourceLineNo">056</span>      cache.put("DELETE", DELETE);<a 
name="line.56"></a>
+<span class="sourceLineNo">057</span>      cache.put("TRACE", TRACE);<a 
name="line.57"></a>
+<span class="sourceLineNo">058</span>      cache.put("CONNECT", CONNECT);<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>   /**<a name="line.61"></a>
+<span class="sourceLineNo">062</span>    * Returns the enum for the specified 
key.<a name="line.62"></a>
+<span class="sourceLineNo">063</span>    * &lt;p&gt;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>    * Case is ignored.<a 
name="line.64"></a>
+<span class="sourceLineNo">065</span>    *<a name="line.65"></a>
+<span class="sourceLineNo">066</span>    * @param key The HTTP method name.<a 
name="line.66"></a>
+<span class="sourceLineNo">067</span>    * @return The HttpMethod enum, or 
{@link #OTHER} if it's not a standard method name.<a name="line.67"></a>
+<span class="sourceLineNo">068</span>    */<a name="line.68"></a>
+<span class="sourceLineNo">069</span>   public static HttpMethod 
forString(String key) {<a name="line.69"></a>
+<span class="sourceLineNo">070</span>      HttpMethod m = cache.get(key);<a 
name="line.70"></a>
+<span class="sourceLineNo">071</span>      return m == null ? OTHER : m;<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/IfMatch.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/src-html/org/apache/juneau/http/IfMatch.html 
b/content/site/apidocs/src-html/org/apache/juneau/http/IfMatch.html
new file mode 100644
index 0000000..bb40d12
--- /dev/null
+++ b/content/site/apidocs/src-html/org/apache/juneau/http/IfMatch.html
@@ -0,0 +1,162 @@
+<!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;If-Match&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> * Only perform the action if the client 
supplied entity matches the same entity on the server.<a name="line.18"></a>
+<span class="sourceLineNo">019</span> * This is mainly for methods like PUT to 
only update a resource if it has not been modified since the user last<a 
name="line.19"></a>
+<span class="sourceLineNo">020</span> * updated it.<a name="line.20"></a>
+<span class="sourceLineNo">021</span> *<a name="line.21"></a>
+<span class="sourceLineNo">022</span> * &lt;h6 
class='figure'&gt;Example&lt;/h6&gt;<a name="line.22"></a>
+<span class="sourceLineNo">023</span> * &lt;p class='bcode'&gt;<a 
name="line.23"></a>
+<span class="sourceLineNo">024</span> *    If-Match: 
"737060cd8c284d8af7ad3082f209582d"<a name="line.24"></a>
+<span class="sourceLineNo">025</span> * &lt;/p&gt;<a name="line.25"></a>
+<span class="sourceLineNo">026</span> *<a name="line.26"></a>
+<span class="sourceLineNo">027</span> * &lt;h6 class='topic'&gt;RFC2616 
Specification&lt;/h6&gt;<a name="line.27"></a>
+<span class="sourceLineNo">028</span> *<a name="line.28"></a>
+<span class="sourceLineNo">029</span> * The If-Match request-header field is 
used with a method to make it conditional.<a name="line.29"></a>
+<span class="sourceLineNo">030</span> * A client that has one or more entities 
previously obtained from the resource can verify that one of those entities<a 
name="line.30"></a>
+<span class="sourceLineNo">031</span> * is current by including a list of 
their associated entity tags in the If-Match header field.<a name="line.31"></a>
+<span class="sourceLineNo">032</span> * Entity tags are defined in section 
3.11.<a name="line.32"></a>
+<span class="sourceLineNo">033</span> * The purpose of this feature is to 
allow efficient updates of cached information with a minimum amount of 
transaction<a name="line.33"></a>
+<span class="sourceLineNo">034</span> * overhead.<a name="line.34"></a>
+<span class="sourceLineNo">035</span> * It is also used, on updating requests, 
to prevent inadvertent modification of the wrong version of a resource.<a 
name="line.35"></a>
+<span class="sourceLineNo">036</span> * As a special case, the value "*" 
matches any current entity of the resource.<a name="line.36"></a>
+<span class="sourceLineNo">037</span> * &lt;p class='bcode'&gt;<a 
name="line.37"></a>
+<span class="sourceLineNo">038</span> *    If-Match = "If-Match" ":" ( "*" | 
1#entity-tag )<a name="line.38"></a>
+<span class="sourceLineNo">039</span> * &lt;/p&gt;<a name="line.39"></a>
+<span class="sourceLineNo">040</span> * &lt;p&gt;<a name="line.40"></a>
+<span class="sourceLineNo">041</span> * If any of the entity tags match the 
entity tag of the entity that would have been returned in the response to a<a 
name="line.41"></a>
+<span class="sourceLineNo">042</span> * similar GET request (without the 
If-Match header) on that resource, or if "*" is given and any current entity 
exists<a name="line.42"></a>
+<span class="sourceLineNo">043</span> * for that resource, then the server MAY 
perform the requested method as if the If-Match header field did not exist.<a 
name="line.43"></a>
+<span class="sourceLineNo">044</span> * &lt;p&gt;<a name="line.44"></a>
+<span class="sourceLineNo">045</span> * A server MUST use the strong 
comparison function (see section 13.3.3) to compare the entity tags in 
If-Match.<a name="line.45"></a>
+<span class="sourceLineNo">046</span> * &lt;p&gt;<a name="line.46"></a>
+<span class="sourceLineNo">047</span> * If none of the entity tags match, or 
if "*" is given and no current entity exists, the server MUST NOT perform the<a 
name="line.47"></a>
+<span class="sourceLineNo">048</span> * requested method, and MUST return a 
412 (Precondition Failed) response.<a name="line.48"></a>
+<span class="sourceLineNo">049</span> * This behavior is most useful when the 
client wants to prevent an updating method, such as PUT, from modifying a<a 
name="line.49"></a>
+<span class="sourceLineNo">050</span> * resource that has changed since the 
client last retrieved it.<a name="line.50"></a>
+<span class="sourceLineNo">051</span> * &lt;p&gt;<a name="line.51"></a>
+<span class="sourceLineNo">052</span> * If the request would, without the 
If-Match header field, result in anything other than a 2xx or 412 status, then 
the<a name="line.52"></a>
+<span class="sourceLineNo">053</span> * If-Match header MUST be ignored.<a 
name="line.53"></a>
+<span class="sourceLineNo">054</span> * &lt;p&gt;<a name="line.54"></a>
+<span class="sourceLineNo">055</span> * The meaning of "If-Match: *" is that 
the method SHOULD be performed if the representation selected by the origin<a 
name="line.55"></a>
+<span class="sourceLineNo">056</span> * server (or by a cache, possibly using 
the Vary mechanism, see section 14.44) exists, and MUST NOT be performed if 
the<a name="line.56"></a>
+<span class="sourceLineNo">057</span> * representation does not exist.<a 
name="line.57"></a>
+<span class="sourceLineNo">058</span> * &lt;p&gt;<a name="line.58"></a>
+<span class="sourceLineNo">059</span> * A request intended to update a 
resource (e.g., a PUT) MAY include an If-Match header field to signal that the 
request<a name="line.59"></a>
+<span class="sourceLineNo">060</span> * method MUST NOT be applied if the 
entity corresponding to the If-Match value (a single entity tag) is no longer 
a<a name="line.60"></a>
+<span class="sourceLineNo">061</span> * representation of that resource.<a 
name="line.61"></a>
+<span class="sourceLineNo">062</span> * This allows the user to indicate that 
they do not wish the request to be successful if the resource has been 
changed<a name="line.62"></a>
+<span class="sourceLineNo">063</span> * without their knowledge.<a 
name="line.63"></a>
+<span class="sourceLineNo">064</span> * Examples:<a name="line.64"></a>
+<span class="sourceLineNo">065</span> * &lt;p class='bcode'&gt;<a 
name="line.65"></a>
+<span class="sourceLineNo">066</span> *    If-Match: "xyzzy"<a 
name="line.66"></a>
+<span class="sourceLineNo">067</span> *    If-Match: "xyzzy", "r2d2xxxx", 
"c3piozzzz"<a name="line.67"></a>
+<span class="sourceLineNo">068</span> *    If-Match: *<a name="line.68"></a>
+<span class="sourceLineNo">069</span> * &lt;/p&gt;<a name="line.69"></a>
+<span class="sourceLineNo">070</span> * The result of a request having both an 
If-Match header field and either an If-None-Match or an If-Modified-Since<a 
name="line.70"></a>
+<span class="sourceLineNo">071</span> * header fields is undefined by this 
specification.<a name="line.71"></a>
+<span class="sourceLineNo">072</span> */<a name="line.72"></a>
+<span class="sourceLineNo">073</span>public final class IfMatch extends 
HeaderEntityValidatorArray {<a name="line.73"></a>
+<span class="sourceLineNo">074</span><a name="line.74"></a>
+<span class="sourceLineNo">075</span>   /**<a name="line.75"></a>
+<span class="sourceLineNo">076</span>    * Returns a parsed 
&lt;code&gt;If-Match&lt;/code&gt; header.<a name="line.76"></a>
+<span class="sourceLineNo">077</span>    *<a name="line.77"></a>
+<span class="sourceLineNo">078</span>    * @param value The 
&lt;code&gt;If-Match&lt;/code&gt; header string.<a name="line.78"></a>
+<span class="sourceLineNo">079</span>    * @return The parsed 
&lt;code&gt;If-Match&lt;/code&gt; header, or &lt;jk&gt;null&lt;/jk&gt; if the 
string was null.<a name="line.79"></a>
+<span class="sourceLineNo">080</span>    */<a name="line.80"></a>
+<span class="sourceLineNo">081</span>   public static IfMatch forString(String 
value) {<a name="line.81"></a>
+<span class="sourceLineNo">082</span>      if (value == null)<a 
name="line.82"></a>
+<span class="sourceLineNo">083</span>         return null;<a 
name="line.83"></a>
+<span class="sourceLineNo">084</span>      return new IfMatch(value);<a 
name="line.84"></a>
+<span class="sourceLineNo">085</span>   }<a name="line.85"></a>
+<span class="sourceLineNo">086</span><a name="line.86"></a>
+<span class="sourceLineNo">087</span>   private IfMatch(String value) {<a 
name="line.87"></a>
+<span class="sourceLineNo">088</span>      super(value);<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>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</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/IfModifiedSince.html
----------------------------------------------------------------------
diff --git 
a/content/site/apidocs/src-html/org/apache/juneau/http/IfModifiedSince.html 
b/content/site/apidocs/src-html/org/apache/juneau/http/IfModifiedSince.html
new file mode 100644
index 0000000..860b754
--- /dev/null
+++ b/content/site/apidocs/src-html/org/apache/juneau/http/IfModifiedSince.html
@@ -0,0 +1,164 @@
+<!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;If-Modified-Since&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> * Allows a 304 Not Modified to be 
returned if content is unchanged.<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> *    If-Modified-Since: Sat, 29 Oct 1994 
19:43: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 If-Modified-Since request-header 
field is used with a method to make it conditional:<a name="line.27"></a>
+<span class="sourceLineNo">028</span> * if the requested variant has not been 
modified since the time specified in this field, an entity will not be 
returned<a name="line.28"></a>
+<span class="sourceLineNo">029</span> * from the server; instead, a 304 (not 
modified) response will be returned without any message-body.<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> *    If-Modified-Since = 
"If-Modified-Since" ":" 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 of the field 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> *    If-Modified-Since: Sat, 29 Oct 1994 
19:43: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> * A GET method with an If-Modified-Since 
header and no Range header requests that the identified entity be transferred<a 
name="line.39"></a>
+<span class="sourceLineNo">040</span> * only if it has been modified since the 
date given by the If-Modified-Since header.<a name="line.40"></a>
+<span class="sourceLineNo">041</span> * The algorithm for determining this 
includes the following cases:<a name="line.41"></a>
+<span class="sourceLineNo">042</span> * &lt;ol&gt;<a name="line.42"></a>
+<span class="sourceLineNo">043</span> *    &lt;li&gt;If the request would 
normally result in anything other than a 200 (OK) status, or if the passed<a 
name="line.43"></a>
+<span class="sourceLineNo">044</span> *       If-Modified-Since date is 
invalid, the response is exactly the same as for a normal GET.<a 
name="line.44"></a>
+<span class="sourceLineNo">045</span> *       A date which is later than the 
server's current time is invalid.<a name="line.45"></a>
+<span class="sourceLineNo">046</span> *    &lt;li&gt;If the variant has been 
modified since the If-Modified-Since date, the response is exactly the same as 
for a<a name="line.46"></a>
+<span class="sourceLineNo">047</span> *       normal GET.<a name="line.47"></a>
+<span class="sourceLineNo">048</span> *    &lt;li&gt;If the variant has not 
been modified since a valid If-Modified-Since date, the server SHOULD return a 
304<a name="line.48"></a>
+<span class="sourceLineNo">049</span> *       (Not Modified) response.<a 
name="line.49"></a>
+<span class="sourceLineNo">050</span> * &lt;/ol&gt;<a name="line.50"></a>
+<span class="sourceLineNo">051</span> * The purpose of this feature is to 
allow efficient updates of cached information with a minimum amount of 
transaction<a name="line.51"></a>
+<span class="sourceLineNo">052</span> * overhead.<a name="line.52"></a>
+<span class="sourceLineNo">053</span> * &lt;p&gt;<a name="line.53"></a>
+<span class="sourceLineNo">054</span> * Note: The Range request-header field 
modifies the meaning of If-Modified-Since; see section 14.35 for full 
details.<a name="line.54"></a>
+<span class="sourceLineNo">055</span> * &lt;p&gt;<a name="line.55"></a>
+<span class="sourceLineNo">056</span> * Note: If-Modified-Since times are 
interpreted by the server, whose clock might not be synchronized with the 
client.<a name="line.56"></a>
+<span class="sourceLineNo">057</span> * &lt;p&gt;<a name="line.57"></a>
+<span class="sourceLineNo">058</span> * Note: When handling an 
If-Modified-Since header field, some servers will use an exact date comparison 
function,<a name="line.58"></a>
+<span class="sourceLineNo">059</span> * rather than a less-than function, for 
deciding whether to send a 304 (Not Modified) response.<a name="line.59"></a>
+<span class="sourceLineNo">060</span> * To get best results when sending an 
If-Modified-Since header field for cache validation, clients are<a 
name="line.60"></a>
+<span class="sourceLineNo">061</span> * advised to use the exact date string 
received in a previous Last-Modified header field whenever possible.<a 
name="line.61"></a>
+<span class="sourceLineNo">062</span> * &lt;p&gt;<a name="line.62"></a>
+<span class="sourceLineNo">063</span> * Note: If a client uses an arbitrary 
date in the If-Modified-Since header instead of a date taken from the<a 
name="line.63"></a>
+<span class="sourceLineNo">064</span> * Last-Modified header for the same 
request, the client should be aware of the fact that this date is interpreted 
in<a name="line.64"></a>
+<span class="sourceLineNo">065</span> * the server's understanding of time.<a 
name="line.65"></a>
+<span class="sourceLineNo">066</span> * The client should consider 
unsynchronized clocks and rounding problems due to the different encodings of 
time between<a name="line.66"></a>
+<span class="sourceLineNo">067</span> * the client and server.<a 
name="line.67"></a>
+<span class="sourceLineNo">068</span> * This includes the possibility of race 
conditions if the document has changed between the time it was first 
requested<a name="line.68"></a>
+<span class="sourceLineNo">069</span> * and the If-Modified-Since date of a 
subsequent request, and the possibility of clock-skew-related problems if the<a 
name="line.69"></a>
+<span class="sourceLineNo">070</span> * If-Modified-Since date is derived from 
the client's clock without correction to the server's clock.<a 
name="line.70"></a>
+<span class="sourceLineNo">071</span> * Corrections for different time bases 
between client and server are at best approximate due to network latency.<a 
name="line.71"></a>
+<span class="sourceLineNo">072</span> * The result of a request having both an 
If-Modified-Since header field and either an If-Match or an<a 
name="line.72"></a>
+<span class="sourceLineNo">073</span> * If-Unmodified-Since header fields is 
undefined by this specification.<a name="line.73"></a>
+<span class="sourceLineNo">074</span> */<a name="line.74"></a>
+<span class="sourceLineNo">075</span>public final class IfModifiedSince 
extends HeaderDate {<a name="line.75"></a>
+<span class="sourceLineNo">076</span><a name="line.76"></a>
+<span class="sourceLineNo">077</span>   /**<a name="line.77"></a>
+<span class="sourceLineNo">078</span>    * Returns a parsed 
&lt;code&gt;If-Modified-Since&lt;/code&gt; header.<a name="line.78"></a>
+<span class="sourceLineNo">079</span>    *<a name="line.79"></a>
+<span class="sourceLineNo">080</span>    * @param value The 
&lt;code&gt;If-Modified-Since&lt;/code&gt; header string.<a name="line.80"></a>
+<span class="sourceLineNo">081</span>    * @return The parsed 
&lt;code&gt;If-Modified-Since&lt;/code&gt; header, or &lt;jk&gt;null&lt;/jk&gt; 
if the string was null.<a name="line.81"></a>
+<span class="sourceLineNo">082</span>    */<a name="line.82"></a>
+<span class="sourceLineNo">083</span>   public static IfModifiedSince 
forString(String value) {<a name="line.83"></a>
+<span class="sourceLineNo">084</span>      if (value == null)<a 
name="line.84"></a>
+<span class="sourceLineNo">085</span>         return null;<a 
name="line.85"></a>
+<span class="sourceLineNo">086</span>      return new 
IfModifiedSince(value);<a name="line.86"></a>
+<span class="sourceLineNo">087</span>   }<a name="line.87"></a>
+<span class="sourceLineNo">088</span><a name="line.88"></a>
+<span class="sourceLineNo">089</span>   private IfModifiedSince(String value) 
{<a name="line.89"></a>
+<span class="sourceLineNo">090</span>      super(value);<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>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</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/IfNoneMatch.html
----------------------------------------------------------------------
diff --git 
a/content/site/apidocs/src-html/org/apache/juneau/http/IfNoneMatch.html 
b/content/site/apidocs/src-html/org/apache/juneau/http/IfNoneMatch.html
new file mode 100644
index 0000000..d88f82f
--- /dev/null
+++ b/content/site/apidocs/src-html/org/apache/juneau/http/IfNoneMatch.html
@@ -0,0 +1,167 @@
+<!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;If-None-Match&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> * Allows a 304 Not Modified to be 
returned if content is unchanged.<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> *    If-None-Match: 
"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 If-None-Match request-header field 
is used with a method to make it conditional.<a name="line.27"></a>
+<span class="sourceLineNo">028</span> * A client that has one or more entities 
previously obtained from the resource can verify that none of those entities<a 
name="line.28"></a>
+<span class="sourceLineNo">029</span> * is current by including a list of 
their associated entity tags in the If-None-Match header field.<a 
name="line.29"></a>
+<span class="sourceLineNo">030</span> * The purpose of this feature is to 
allow efficient updates of cached information with a minimum amount of 
transaction<a name="line.30"></a>
+<span class="sourceLineNo">031</span> * overhead.<a name="line.31"></a>
+<span class="sourceLineNo">032</span> * It is also used to prevent a method 
(e.g. PUT) from inadvertently modifying an existing resource when the client<a 
name="line.32"></a>
+<span class="sourceLineNo">033</span> * believes that the resource does not 
exist.<a name="line.33"></a>
+<span class="sourceLineNo">034</span> * &lt;p&gt;<a name="line.34"></a>
+<span class="sourceLineNo">035</span> * As a special case, the value "*" 
matches any current entity of the resource.<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> *    If-None-Match = "If-None-Match" ":" 
( "*" | 1#entity-tag )<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> * If any of the entity tags match the 
entity tag of the entity that would have been returned in the response to a<a 
name="line.40"></a>
+<span class="sourceLineNo">041</span> * similar GET request (without the 
If-None-Match header) on that resource, or if "*" is given<a name="line.41"></a>
+<span class="sourceLineNo">042</span> * and any current entity exists for that 
resource, then the server MUST NOT perform the requested method, unless<a 
name="line.42"></a>
+<span class="sourceLineNo">043</span> * required to do so because the 
resource's modification date fails to match that supplied in an 
If-Modified-Since<a name="line.43"></a>
+<span class="sourceLineNo">044</span> * header field in the request.<a 
name="line.44"></a>
+<span class="sourceLineNo">045</span> * Instead, if the request method was GET 
or HEAD, the server SHOULD respond with a 304 (Not Modified) response,<a 
name="line.45"></a>
+<span class="sourceLineNo">046</span> * including the cache- related header 
fields (particularly ETag) of one of the entities that matched.<a 
name="line.46"></a>
+<span class="sourceLineNo">047</span> * For all other request methods, the 
server MUST respond with a status of 412 (Precondition Failed).<a 
name="line.47"></a>
+<span class="sourceLineNo">048</span> * &lt;p&gt;<a name="line.48"></a>
+<span class="sourceLineNo">049</span> * See section 13.3.3 for rules on how to 
determine if two entities tags match.<a name="line.49"></a>
+<span class="sourceLineNo">050</span> * The weak comparison function can only 
be used with GET or HEAD requests.<a name="line.50"></a>
+<span class="sourceLineNo">051</span> * &lt;p&gt;<a name="line.51"></a>
+<span class="sourceLineNo">052</span> * If none of the entity tags match, then 
the server MAY perform the requested method as if the If-None-Match header<a 
name="line.52"></a>
+<span class="sourceLineNo">053</span> * field did not exist, but MUST also 
ignore any If-Modified-Since header field(s) in the request.<a 
name="line.53"></a>
+<span class="sourceLineNo">054</span> * That is, if no entity tags match, then 
the server MUST NOT return a 304 (Not Modified) response.<a name="line.54"></a>
+<span class="sourceLineNo">055</span> * &lt;p&gt;<a name="line.55"></a>
+<span class="sourceLineNo">056</span> * If the request would, without the 
If-None-Match header field, result in anything other than a 2xx or 304 
status,<a name="line.56"></a>
+<span class="sourceLineNo">057</span> * then the If-None-Match header MUST be 
ignored.<a name="line.57"></a>
+<span class="sourceLineNo">058</span> * (See section 13.3.4 for a discussion 
of server behavior when both If-Modified-Since and If-None-Match appear in 
the<a name="line.58"></a>
+<span class="sourceLineNo">059</span> * same request.)<a name="line.59"></a>
+<span class="sourceLineNo">060</span> * &lt;p&gt;<a name="line.60"></a>
+<span class="sourceLineNo">061</span> * The meaning of "If-None-Match: *" is 
that the method MUST NOT be performed if the representation selected by the<a 
name="line.61"></a>
+<span class="sourceLineNo">062</span> * origin server (or by a cache, possibly 
using the Vary mechanism, see section 14.44) exists, and SHOULD be performed<a 
name="line.62"></a>
+<span class="sourceLineNo">063</span> * if the representation does not 
exist.<a name="line.63"></a>
+<span class="sourceLineNo">064</span> * This feature is intended to be useful 
in preventing races between PUT operations.<a name="line.64"></a>
+<span class="sourceLineNo">065</span> * &lt;p&gt;<a name="line.65"></a>
+<span class="sourceLineNo">066</span> * Examples:<a name="line.66"></a>
+<span class="sourceLineNo">067</span> * &lt;p class='bcode'&gt;<a 
name="line.67"></a>
+<span class="sourceLineNo">068</span> *    If-None-Match: "xyzzy"<a 
name="line.68"></a>
+<span class="sourceLineNo">069</span> *    If-None-Match: W/"xyzzy"<a 
name="line.69"></a>
+<span class="sourceLineNo">070</span> *    If-None-Match: "xyzzy", "r2d2xxxx", 
"c3piozzzz"<a name="line.70"></a>
+<span class="sourceLineNo">071</span> *    If-None-Match: W/"xyzzy", 
W/"r2d2xxxx", W/"c3piozzzz"<a name="line.71"></a>
+<span class="sourceLineNo">072</span> *    If-None-Match: *<a 
name="line.72"></a>
+<span class="sourceLineNo">073</span> * &lt;/p&gt;<a name="line.73"></a>
+<span class="sourceLineNo">074</span> * &lt;p&gt;<a name="line.74"></a>
+<span class="sourceLineNo">075</span> * The result of a request having both an 
If-None-Match header field and either an If-Match or an If-Unmodified-Since<a 
name="line.75"></a>
+<span class="sourceLineNo">076</span> * header fields is undefined by this 
specification.<a name="line.76"></a>
+<span class="sourceLineNo">077</span> */<a name="line.77"></a>
+<span class="sourceLineNo">078</span>public final class IfNoneMatch extends 
HeaderEntityValidatorArray {<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>
+<span class="sourceLineNo">081</span>    * Returns a parsed 
&lt;code&gt;If-None-Match&lt;/code&gt; header.<a name="line.81"></a>
+<span class="sourceLineNo">082</span>    *<a name="line.82"></a>
+<span class="sourceLineNo">083</span>    * @param value The 
&lt;code&gt;If-None-Match&lt;/code&gt; header string.<a name="line.83"></a>
+<span class="sourceLineNo">084</span>    * @return The parsed 
&lt;code&gt;If-None-Match&lt;/code&gt; header, or &lt;jk&gt;null&lt;/jk&gt; if 
the string was null.<a name="line.84"></a>
+<span class="sourceLineNo">085</span>    */<a name="line.85"></a>
+<span class="sourceLineNo">086</span>   public static IfNoneMatch 
forString(String value) {<a name="line.86"></a>
+<span class="sourceLineNo">087</span>      if (value == null)<a 
name="line.87"></a>
+<span class="sourceLineNo">088</span>         return null;<a 
name="line.88"></a>
+<span class="sourceLineNo">089</span>      return new IfNoneMatch(value);<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>   private IfNoneMatch(String value) {<a 
name="line.92"></a>
+<span class="sourceLineNo">093</span>      super(value);<a name="line.93"></a>
+<span class="sourceLineNo">094</span>   }<a name="line.94"></a>
+<span class="sourceLineNo">095</span>}<a name="line.95"></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/IfRange.html
----------------------------------------------------------------------
diff --git a/content/site/apidocs/src-html/org/apache/juneau/http/IfRange.html 
b/content/site/apidocs/src-html/org/apache/juneau/http/IfRange.html
new file mode 100644
index 0000000..bb89fc9
--- /dev/null
+++ b/content/site/apidocs/src-html/org/apache/juneau/http/IfRange.html
@@ -0,0 +1,167 @@
+<!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>import static 
org.apache.juneau.internal.StringUtils.*;<a name="line.15"></a>
+<span class="sourceLineNo">016</span><a name="line.16"></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;If-Range&lt;/l&gt; HTTP request header.<a name="line.20"></a>
+<span class="sourceLineNo">021</span> * &lt;p&gt;<a name="line.21"></a>
+<span class="sourceLineNo">022</span> * If the entity is unchanged, send me 
the part(s) that I am missing; otherwise, send me the entire new entity.<a 
name="line.22"></a>
+<span class="sourceLineNo">023</span> *<a name="line.23"></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> *    If-Range: 
"737060cd8c284d8af7ad3082f209582d"<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> * If a client has a partial copy of an 
entity in its cache, and wishes to have an up-to-date copy of the entire 
entity<a name="line.31"></a>
+<span class="sourceLineNo">032</span> * in its cache, it could use the Range 
request-header with a conditional GET (using either or both of<a 
name="line.32"></a>
+<span class="sourceLineNo">033</span> * If-Unmodified-Since and If-Match.)<a 
name="line.33"></a>
+<span class="sourceLineNo">034</span> * However, if the condition fails 
because the entity has been modified, the client would then have to make a 
second<a name="line.34"></a>
+<span class="sourceLineNo">035</span> * request to obtain the entire current 
entity-body.<a name="line.35"></a>
+<span class="sourceLineNo">036</span> * &lt;p&gt;<a name="line.36"></a>
+<span class="sourceLineNo">037</span> * The If-Range header allows a client to 
"short-circuit" the second request.<a name="line.37"></a>
+<span class="sourceLineNo">038</span> * Informally, its meaning is `if the 
entity is unchanged, send me the part(s) that I am missing; otherwise, send 
me<a name="line.38"></a>
+<span class="sourceLineNo">039</span> * the entire new entity'.<a 
name="line.39"></a>
+<span class="sourceLineNo">040</span> * &lt;p class='bcode'&gt;<a 
name="line.40"></a>
+<span class="sourceLineNo">041</span> *    If-Range = "If-Range" ":" ( 
entity-tag | HTTP-date )<a name="line.41"></a>
+<span class="sourceLineNo">042</span> * &lt;/p&gt;<a name="line.42"></a>
+<span class="sourceLineNo">043</span> * &lt;p&gt;<a name="line.43"></a>
+<span class="sourceLineNo">044</span> * If the client has no entity tag for an 
entity, but does have a Last- Modified date, it MAY use that date in an<a 
name="line.44"></a>
+<span class="sourceLineNo">045</span> * If-Range header.<a name="line.45"></a>
+<span class="sourceLineNo">046</span> * (The server can distinguish between a 
valid HTTP-date and any form of entity-tag by examining no more than two<a 
name="line.46"></a>
+<span class="sourceLineNo">047</span> * characters.)<a name="line.47"></a>
+<span class="sourceLineNo">048</span> * The If-Range header SHOULD only be 
used together with a Range header, and MUST be ignored if the request does 
not<a name="line.48"></a>
+<span class="sourceLineNo">049</span> * include a Range header, or if the 
server does not support the sub-range operation.<a name="line.49"></a>
+<span class="sourceLineNo">050</span> * &lt;p&gt;<a name="line.50"></a>
+<span class="sourceLineNo">051</span> * If the entity tag given in the 
If-Range header matches the current entity tag for the entity, then the server 
SHOULD<a name="line.51"></a>
+<span class="sourceLineNo">052</span> * provide the specified sub-range of the 
entity using a 206 (Partial content) response.<a name="line.52"></a>
+<span class="sourceLineNo">053</span> * If the entity tag does not match, then 
the server SHOULD return the entire entity using a 200 (OK) response.<a 
name="line.53"></a>
+<span class="sourceLineNo">054</span> */<a name="line.54"></a>
+<span class="sourceLineNo">055</span>public final class IfRange 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;If-Range&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;If-Range&lt;/code&gt; header string.<a name="line.60"></a>
+<span class="sourceLineNo">061</span>    * @return The parsed 
&lt;code&gt;If-Range&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 IfRange 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 IfRange(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 IfRange(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>
+<span class="sourceLineNo">073</span>   /**<a name="line.73"></a>
+<span class="sourceLineNo">074</span>    * Returns this header value as a 
{@link java.util.Date} object.<a name="line.74"></a>
+<span class="sourceLineNo">075</span>    * @return This header value as a 
{@link java.util.Date} object, or &lt;jk&gt;null&lt;/jk&gt; if the value is not 
a date.<a name="line.75"></a>
+<span class="sourceLineNo">076</span>    */<a name="line.76"></a>
+<span class="sourceLineNo">077</span>   public java.util.Date asDate() {<a 
name="line.77"></a>
+<span class="sourceLineNo">078</span>      char c0 = charAt(value, 0), c1 = 
charAt(value, 1);<a name="line.78"></a>
+<span class="sourceLineNo">079</span>      if (c0 == '*' || c0 == '"' || (c0 
== 'W' &amp;&amp; c1 == '/'))<a name="line.79"></a>
+<span class="sourceLineNo">080</span>         return null;<a 
name="line.80"></a>
+<span class="sourceLineNo">081</span>      return 
DateUtils.parseDate(toString());<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>
+<span class="sourceLineNo">084</span>   /**<a name="line.84"></a>
+<span class="sourceLineNo">085</span>    * Returns this header value as an 
{@link EntityValidator} object.<a name="line.85"></a>
+<span class="sourceLineNo">086</span>    * @return This header value as a 
{@link EntityValidator} object, or &lt;jk&gt;null&lt;/jk&gt; if the value is 
not an entity<a name="line.86"></a>
+<span class="sourceLineNo">087</span>    *    validator.<a name="line.87"></a>
+<span class="sourceLineNo">088</span>    */<a name="line.88"></a>
+<span class="sourceLineNo">089</span>   public EntityValidator asValidator() 
{<a name="line.89"></a>
+<span class="sourceLineNo">090</span>      char c0 = charAt(value, 0), c1 = 
charAt(value, 1);<a name="line.90"></a>
+<span class="sourceLineNo">091</span>      if (c0 == '*' || c0 == '"' || (c0 
== 'W' &amp;&amp; c1 == '/'))<a name="line.91"></a>
+<span class="sourceLineNo">092</span>         return new 
EntityValidator(value);<a name="line.92"></a>
+<span class="sourceLineNo">093</span>      return null;<a name="line.93"></a>
+<span class="sourceLineNo">094</span>   }<a name="line.94"></a>
+<span class="sourceLineNo">095</span>}<a name="line.95"></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/IfUnmodifiedSince.html
----------------------------------------------------------------------
diff --git 
a/content/site/apidocs/src-html/org/apache/juneau/http/IfUnmodifiedSince.html 
b/content/site/apidocs/src-html/org/apache/juneau/http/IfUnmodifiedSince.html
new file mode 100644
index 0000000..b68ca22
--- /dev/null
+++ 
b/content/site/apidocs/src-html/org/apache/juneau/http/IfUnmodifiedSince.html
@@ -0,0 +1,138 @@
+<!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;If-Unmodified-Since&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> * Only send the response if the entity 
has not been modified since a specific time.<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> *    If-Unmodified-Since: Sat, 29 Oct 
1994 19:43: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> * The If-Unmodified-Since request-header 
field is used with a method to make it conditional.<a name="line.26"></a>
+<span class="sourceLineNo">027</span> * If the requested resource has not been 
modified since the time specified in this field, the server SHOULD perform 
the<a name="line.27"></a>
+<span class="sourceLineNo">028</span> * requested operation as if the 
If-Unmodified-Since header were not present.<a name="line.28"></a>
+<span class="sourceLineNo">029</span> * &lt;p&gt;<a name="line.29"></a>
+<span class="sourceLineNo">030</span> * If the requested variant has been 
modified since the specified time, the server MUST NOT perform the requested<a 
name="line.30"></a>
+<span class="sourceLineNo">031</span> * operation, and MUST return a 412 
(Precondition Failed).<a name="line.31"></a>
+<span class="sourceLineNo">032</span> * &lt;p class='bcode'&gt;<a 
name="line.32"></a>
+<span class="sourceLineNo">033</span> *    If-Unmodified-Since = 
"If-Unmodified-Since" ":" HTTP-date<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> * An example of the field is:<a 
name="line.36"></a>
+<span class="sourceLineNo">037</span> * &lt;p class='bcode'&gt;<a 
name="line.37"></a>
+<span class="sourceLineNo">038</span> *    If-Unmodified-Since: Sat, 29 Oct 
1994 19:43:31 GMT<a name="line.38"></a>
+<span class="sourceLineNo">039</span> * &lt;/p&gt;<a name="line.39"></a>
+<span class="sourceLineNo">040</span> * &lt;p&gt;<a name="line.40"></a>
+<span class="sourceLineNo">041</span> * If the request normally (i.e., without 
the If-Unmodified-Since header) would result in anything other than a 2xx or<a 
name="line.41"></a>
+<span class="sourceLineNo">042</span> * 412 status, the If-Unmodified-Since 
header SHOULD be ignored.<a name="line.42"></a>
+<span class="sourceLineNo">043</span> * &lt;p&gt;<a name="line.43"></a>
+<span class="sourceLineNo">044</span> * If the specified date is invalid, the 
header is ignored.<a name="line.44"></a>
+<span class="sourceLineNo">045</span> * &lt;p&gt;<a name="line.45"></a>
+<span class="sourceLineNo">046</span> * The result of a request having both an 
If-Unmodified-Since header field and either an If-None-Match or an<a 
name="line.46"></a>
+<span class="sourceLineNo">047</span> * If-Modified-Since header fields is 
undefined by this specification.<a name="line.47"></a>
+<span class="sourceLineNo">048</span> */<a name="line.48"></a>
+<span class="sourceLineNo">049</span>public final class IfUnmodifiedSince 
extends HeaderDate {<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>    * Returns a parsed 
&lt;code&gt;If-Unmodified-Since&lt;/code&gt; header.<a name="line.52"></a>
+<span class="sourceLineNo">053</span>    *<a name="line.53"></a>
+<span class="sourceLineNo">054</span>    * @param value The 
&lt;code&gt;If-Unmodified-Since&lt;/code&gt; header string.<a 
name="line.54"></a>
+<span class="sourceLineNo">055</span>    * @return The parsed 
&lt;code&gt;If-Unmodified-Since&lt;/code&gt; header, or 
&lt;jk&gt;null&lt;/jk&gt; if the string was null.<a name="line.55"></a>
+<span class="sourceLineNo">056</span>    */<a name="line.56"></a>
+<span class="sourceLineNo">057</span>   public static IfUnmodifiedSince 
forString(String value) {<a name="line.57"></a>
+<span class="sourceLineNo">058</span>      if (value == null)<a 
name="line.58"></a>
+<span class="sourceLineNo">059</span>         return null;<a 
name="line.59"></a>
+<span class="sourceLineNo">060</span>      return new 
IfUnmodifiedSince(value);<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 IfUnmodifiedSince(String 
value) {<a name="line.63"></a>
+<span class="sourceLineNo">064</span>      super(value);<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>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</pre>
+</div>
+</body>
+</html>

Reply via email to