Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--jetty-server/src/main/java/org/eclipse/jetty/server/Request.java1065
1 files changed, 535 insertions, 530 deletions
diff --git a/jetty-server/src/main/java/org/eclipse/jetty/server/Request.java b/jetty-server/src/main/java/org/eclipse/jetty/server/Request.java
index 4fc8c5934d..7a54b62706 100644
--- a/jetty-server/src/main/java/org/eclipse/jetty/server/Request.java
+++ b/jetty-server/src/main/java/org/eclipse/jetty/server/Request.java
@@ -4,11 +4,11 @@
// All rights reserved. This program and the accompanying materials
// are made available under the terms of the Eclipse Public License v1.0
// and Apache License v2.0 which accompanies this distribution.
-// The Eclipse Public License is available at
+// The Eclipse Public License is available at
// http://www.eclipse.org/legal/epl-v10.html
// The Apache License v2.0 is available at
// http://www.opensource.org/licenses/apache2.0.php
-// You may elect to redistribute this code under either of these licenses.
+// You may elect to redistribute this code under either of these licenses.
// ========================================================================
package org.eclipse.jetty.server;
@@ -72,62 +72,55 @@ import org.eclipse.jetty.util.log.Log;
import org.eclipse.jetty.util.log.Logger;
/* ------------------------------------------------------------ */
-/** Jetty Request.
+/**
+ * Jetty Request.
* <p>
* Implements {@link javax.servlet.http.HttpServletRequest} from the <code>javax.servlet.http</code> package.
* </p>
* <p>
- * The standard interface of mostly getters,
- * is extended with setters so that the request is mutable by the handlers that it is
- * passed to. This allows the request object to be as lightweight as possible and not
- * actually implement any significant behavior. For example<ul>
- *
- * <li>The {@link Request#getContextPath()} method will return null, until the request has been
- * passed to a {@link ContextHandler} which matches the {@link Request#getPathInfo()} with a context
- * path and calls {@link Request#setContextPath(String)} as a result.</li>
- *
- * <li>the HTTP session methods
- * will all return null sessions until such time as a request has been passed to
- * a {@link org.eclipse.jetty.server.session.SessionHandler} which checks for session cookies
- * and enables the ability to create new sessions.</li>
- *
- * <li>The {@link Request#getServletPath()} method will return null until the request has been
- * passed to a <code>org.eclipse.jetty.servlet.ServletHandler</code> and the pathInfo matched
- * against the servlet URL patterns and {@link Request#setServletPath(String)} called as a result.</li>
+ * The standard interface of mostly getters, is extended with setters so that the request is mutable by the handlers that it is passed to. This allows the
+ * request object to be as lightweight as possible and not actually implement any significant behavior. For example
+ * <ul>
+ *
+ * <li>The {@link Request#getContextPath()} method will return null, until the request has been passed to a {@link ContextHandler} which matches the
+ * {@link Request#getPathInfo()} with a context path and calls {@link Request#setContextPath(String)} as a result.</li>
+ *
+ * <li>the HTTP session methods will all return null sessions until such time as a request has been passed to a
+ * {@link org.eclipse.jetty.server.session.SessionHandler} which checks for session cookies and enables the ability to create new sessions.</li>
+ *
+ * <li>The {@link Request#getServletPath()} method will return null until the request has been passed to a <code>org.eclipse.jetty.servlet.ServletHandler</code>
+ * and the pathInfo matched against the servlet URL patterns and {@link Request#setServletPath(String)} called as a result.</li>
* </ul>
- *
- * A request instance is created for each {@link AbstractHttpConnection} accepted by the server
- * and recycled for each HTTP request received via that connection. An effort is made
- * to avoid reparsing headers and cookies that are likely to be the same for
- * requests from the same connection.
- *
+ *
+ * A request instance is created for each {@link AbstractHttpConnection} accepted by the server and recycled for each HTTP request received via that connection.
+ * An effort is made to avoid reparsing headers and cookies that are likely to be the same for requests from the same connection.
+ *
* <p>
- * The form content that a request can process is limited to protect from Denial of Service
- * attacks. The size in bytes is limited by {@link ContextHandler#getMaxFormContentSize()} or if there is no
- * context then the "org.eclipse.jetty.server.Request.maxFormContentSize" {@link Server} attribute.
- * The number of parameters keys is limited by {@link ContextHandler#getMaxFormKeys()} or if there is no
- * context then the "org.eclipse.jetty.server.Request.maxFormKeys" {@link Server} attribute.
- *
- *
+ * The form content that a request can process is limited to protect from Denial of Service attacks. The size in bytes is limited by
+ * {@link ContextHandler#getMaxFormContentSize()} or if there is no context then the "org.eclipse.jetty.server.Request.maxFormContentSize" {@link Server}
+ * attribute. The number of parameters keys is limited by {@link ContextHandler#getMaxFormKeys()} or if there is no context then the
+ * "org.eclipse.jetty.server.Request.maxFormKeys" {@link Server} attribute.
+ *
+ *
*/
public class Request implements HttpServletRequest
{
private static final Logger LOG = Log.getLogger(Request.class);
- private static final String __ASYNC_FWD="org.eclipse.asyncfwd";
+ private static final String __ASYNC_FWD = "org.eclipse.asyncfwd";
private static final Collection __defaultLocale = Collections.singleton(Locale.getDefault());
- private static final int __NONE=0, _STREAM=1, __READER=2;
+ private static final int __NONE = 0, _STREAM = 1, __READER = 2;
/* ------------------------------------------------------------ */
public static Request getRequest(HttpServletRequest request)
{
if (request instanceof Request)
- return (Request) request;
+ return (Request)request;
return AbstractHttpConnection.getCurrentConnection().getRequest();
}
protected final AsyncContinuation _async = new AsyncContinuation();
- private boolean _asyncSupported=true;
+ private boolean _asyncSupported = true;
private volatile Attributes _attributes;
private Authentication _authentication;
private MultiMap<String> _baseParameters;
@@ -137,18 +130,18 @@ public class Request implements HttpServletRequest
private boolean _newContext;
private String _contextPath;
private CookieCutter _cookies;
- private boolean _cookiesExtracted=false;
+ private boolean _cookiesExtracted = false;
private DispatcherType _dispatcherType;
- private boolean _dns=false;
+ private boolean _dns = false;
private EndPoint _endp;
- private boolean _handled =false;
- private int _inputState=__NONE;
+ private boolean _handled = false;
+ private int _inputState = __NONE;
private String _method;
private MultiMap<String> _parameters;
private boolean _paramsExtracted;
private String _pathInfo;
private int _port;
- private String _protocol=HttpVersions.HTTP_1_1;
+ private String _protocol = HttpVersions.HTTP_1_1;
private String _queryEncoding;
private String _queryString;
private BufferedReader _reader;
@@ -157,10 +150,10 @@ public class Request implements HttpServletRequest
private String _remoteHost;
private Object _requestAttributeListeners;
private String _requestedSessionId;
- private boolean _requestedSessionIdFromCookie=false;
+ private boolean _requestedSessionIdFromCookie = false;
private String _requestURI;
- private Map<Object,HttpSession> _savedNewSessions;
- private String _scheme=URIUtil.HTTP;
+ private Map<Object, HttpSession> _savedNewSessions;
+ private String _scheme = URIUtil.HTTP;
private UserIdentity.Scope _scope;
private String _serverName;
private String _servletPath;
@@ -168,10 +161,10 @@ public class Request implements HttpServletRequest
private SessionManager _sessionManager;
private long _timeStamp;
private long _dispatchTime;
-
+
private Buffer _timeStampBuffer;
private HttpURI _uri;
-
+
/* ------------------------------------------------------------ */
public Request()
{
@@ -184,10 +177,10 @@ public class Request implements HttpServletRequest
}
/* ------------------------------------------------------------ */
- public void addEventListener(final EventListener listener)
+ public void addEventListener(final EventListener listener)
{
if (listener instanceof ServletRequestAttributeListener)
- _requestAttributeListeners= LazyList.add(_requestAttributeListeners, listener);
+ _requestAttributeListeners = LazyList.add(_requestAttributeListeners,listener);
if (listener instanceof ContinuationListener)
throw new IllegalArgumentException();
}
@@ -198,13 +191,13 @@ public class Request implements HttpServletRequest
*/
public void extractParameters()
{
- if (_baseParameters == null)
+ if (_baseParameters == null)
_baseParameters = new MultiMap(16);
- if (_paramsExtracted)
+ if (_paramsExtracted)
{
- if (_parameters==null)
- _parameters=_baseParameters;
+ if (_parameters == null)
+ _parameters = _baseParameters;
return;
}
@@ -213,9 +206,9 @@ public class Request implements HttpServletRequest
try
{
// Handle query string
- if (_uri!=null && _uri.hasQuery())
+ if (_uri != null && _uri.hasQuery())
{
- if (_queryEncoding==null)
+ if (_queryEncoding == null)
_uri.decodeQueryTo(_baseParameters);
else
{
@@ -238,40 +231,41 @@ public class Request implements HttpServletRequest
String content_type = getContentType();
if (content_type != null && content_type.length() > 0)
{
- content_type = HttpFields.valueParameters(content_type, null);
-
- if (MimeTypes.FORM_ENCODED.equalsIgnoreCase(content_type) && _inputState==__NONE &&
- (HttpMethods.POST.equals(getMethod()) || HttpMethods.PUT.equals(getMethod())))
+ content_type = HttpFields.valueParameters(content_type,null);
+
+ if (MimeTypes.FORM_ENCODED.equalsIgnoreCase(content_type) && _inputState == __NONE
+ && (HttpMethods.POST.equals(getMethod()) || HttpMethods.PUT.equals(getMethod())))
{
int content_length = getContentLength();
if (content_length != 0)
{
try
{
- int maxFormContentSize=-1;
- int maxFormKeys=-1;
+ int maxFormContentSize = -1;
+ int maxFormKeys = -1;
- if (_context!=null)
+ if (_context != null)
{
- maxFormContentSize=_context.getContextHandler().getMaxFormContentSize();
- maxFormKeys=_context.getContextHandler().getMaxFormKeys();
+ maxFormContentSize = _context.getContextHandler().getMaxFormContentSize();
+ maxFormKeys = _context.getContextHandler().getMaxFormKeys();
}
else
{
- Number size = (Number)_connection.getConnector().getServer().getAttribute("org.eclipse.jetty.server.Request.maxFormContentSize");
- maxFormContentSize=size==null?200000:size.intValue();
+ Number size = (Number)_connection.getConnector().getServer()
+ .getAttribute("org.eclipse.jetty.server.Request.maxFormContentSize");
+ maxFormContentSize = size == null?200000:size.intValue();
Number keys = (Number)_connection.getConnector().getServer().getAttribute("org.eclipse.jetty.server.Request.maxFormKeys");
- maxFormKeys =keys==null?1000:keys.intValue();
+ maxFormKeys = keys == null?1000:keys.intValue();
}
-
- if (content_length>maxFormContentSize && maxFormContentSize > 0)
+
+ if (content_length > maxFormContentSize && maxFormContentSize > 0)
{
- throw new IllegalStateException("Form too large"+content_length+">"+maxFormContentSize);
+ throw new IllegalStateException("Form too large" + content_length + ">" + maxFormContentSize);
}
InputStream in = getInputStream();
// Add form params to query params
- UrlEncoded.decodeTo(in, _baseParameters, encoding,content_length<0?maxFormContentSize:-1,maxFormKeys);
+ UrlEncoded.decodeTo(in,_baseParameters,encoding,content_length < 0?maxFormContentSize:-1,maxFormKeys);
}
catch (IOException e)
{
@@ -284,31 +278,30 @@ public class Request implements HttpServletRequest
}
}
- if (_parameters==null)
- _parameters=_baseParameters;
- else if (_parameters!=_baseParameters)
+ if (_parameters == null)
+ _parameters = _baseParameters;
+ else if (_parameters != _baseParameters)
{
// Merge parameters (needed if parameters extracted after a forward).
Iterator iter = _baseParameters.entrySet().iterator();
while (iter.hasNext())
{
Map.Entry entry = (Map.Entry)iter.next();
- String name=(String)entry.getKey();
- Object values=entry.getValue();
- for (int i=0;i<LazyList.size(values);i++)
- _parameters.add(name, LazyList.get(values, i));
+ String name = (String)entry.getKey();
+ Object values = entry.getValue();
+ for (int i = 0; i < LazyList.size(values); i++)
+ _parameters.add(name,LazyList.get(values,i));
}
- }
+ }
}
finally
{
- //ensure params always set (even if empty) after extraction
- if (_parameters==null)
- _parameters=_baseParameters;
+ // ensure params always set (even if empty) after extraction
+ if (_parameters == null)
+ _parameters = _baseParameters;
}
}
-
/* ------------------------------------------------------------ */
public AsyncContext getAsyncContext()
{
@@ -324,44 +317,46 @@ public class Request implements HttpServletRequest
}
/* ------------------------------------------------------------ */
- /*
+ /*
* @see javax.servlet.ServletRequest#getAttribute(java.lang.String)
*/
public Object getAttribute(String name)
{
if ("org.eclipse.jetty.io.EndPoint.maxIdleTime".equalsIgnoreCase(name))
return new Long(getConnection().getEndPoint().getMaxIdleTime());
-
- Object attr=(_attributes==null)?null:_attributes.getAttribute(name);
- if (attr==null && Continuation.ATTRIBUTE.equals(name))
+
+ Object attr = (_attributes == null)?null:_attributes.getAttribute(name);
+ if (attr == null && Continuation.ATTRIBUTE.equals(name))
return _async;
return attr;
}
/* ------------------------------------------------------------ */
- /*
+ /*
* @see javax.servlet.ServletRequest#getAttributeNames()
*/
public Enumeration getAttributeNames()
{
- if (_attributes==null)
+ if (_attributes == null)
return Collections.enumeration(Collections.EMPTY_LIST);
-
+
return AttributesMap.getAttributeNamesCopy(_attributes);
}
-
+
/* ------------------------------------------------------------ */
- /*
+ /*
*/
public Attributes getAttributes()
{
- if (_attributes==null)
- _attributes=new AttributesMap();
+ if (_attributes == null)
+ _attributes = new AttributesMap();
return _attributes;
}
/* ------------------------------------------------------------ */
- /** Get the authentication.
+ /**
+ * Get the authentication.
+ *
* @return the authentication
*/
public Authentication getAuthentication()
@@ -370,21 +365,21 @@ public class Request implements HttpServletRequest
}
/* ------------------------------------------------------------ */
- /*
+ /*
* @see javax.servlet.http.HttpServletRequest#getAuthType()
*/
public String getAuthType()
{
if (_authentication instanceof Authentication.Deferred)
_authentication = ((Authentication.Deferred)_authentication).authenticate(this);
-
+
if (_authentication instanceof Authentication.User)
return ((Authentication.User)_authentication).getAuthMethod();
return null;
}
-
+
/* ------------------------------------------------------------ */
- /*
+ /*
* @see javax.servlet.ServletRequest#getCharacterEncoding()
*/
public String getCharacterEncoding()
@@ -400,9 +395,9 @@ public class Request implements HttpServletRequest
{
return _connection;
}
-
+
/* ------------------------------------------------------------ */
- /*
+ /*
* @see javax.servlet.ServletRequest#getContentLength()
*/
public int getContentLength()
@@ -412,14 +407,14 @@ public class Request implements HttpServletRequest
public long getContentRead()
{
- if (_connection==null || _connection.getParser()==null)
+ if (_connection == null || _connection.getParser() == null)
return -1;
-
+
return ((HttpParser)_connection.getParser()).getContentRead();
}
/* ------------------------------------------------------------ */
- /*
+ /*
* @see javax.servlet.ServletRequest#getContentType()
*/
public String getContentType()
@@ -429,8 +424,7 @@ public class Request implements HttpServletRequest
/* ------------------------------------------------------------ */
/**
- * @return The current {@link Context context} used for this request, or <code>null</code> if {@link #setContext} has not yet
- * been called.
+ * @return The current {@link Context context} used for this request, or <code>null</code> if {@link #setContext} has not yet been called.
*/
public Context getContext()
{
@@ -438,7 +432,7 @@ public class Request implements HttpServletRequest
}
/* ------------------------------------------------------------ */
- /*
+ /*
* @see javax.servlet.http.HttpServletRequest#getContextPath()
*/
public String getContextPath()
@@ -447,23 +441,23 @@ public class Request implements HttpServletRequest
}
/* ------------------------------------------------------------ */
- /*
+ /*
* @see javax.servlet.http.HttpServletRequest#getCookies()
*/
public Cookie[] getCookies()
{
- if (_cookiesExtracted)
- return _cookies==null?null:_cookies.getCookies();
+ if (_cookiesExtracted)
+ return _cookies == null?null:_cookies.getCookies();
_cookiesExtracted = true;
-
+
Enumeration enm = _connection.getRequestFields().getValues(HttpHeaders.COOKIE_BUFFER);
-
+
// Handle no cookies
- if (enm!=null)
+ if (enm != null)
{
- if (_cookies==null)
- _cookies=new CookieCutter();
+ if (_cookies == null)
+ _cookies = new CookieCutter();
while (enm.hasMoreElements())
{
@@ -472,11 +466,11 @@ public class Request implements HttpServletRequest
}
}
- return _cookies==null?null:_cookies.getCookies();
+ return _cookies == null?null:_cookies.getCookies();
}
/* ------------------------------------------------------------ */
- /*
+ /*
* @see javax.servlet.http.HttpServletRequest#getDateHeader(java.lang.String)
*/
public long getDateHeader(String name)
@@ -487,11 +481,11 @@ public class Request implements HttpServletRequest
/* ------------------------------------------------------------ */
public DispatcherType getDispatcherType()
{
- return _dispatcherType;
+ return _dispatcherType;
}
/* ------------------------------------------------------------ */
- /*
+ /*
* @see javax.servlet.http.HttpServletRequest#getHeader(java.lang.String)
*/
public String getHeader(String name)
@@ -500,7 +494,7 @@ public class Request implements HttpServletRequest
}
/* ------------------------------------------------------------ */
- /*
+ /*
* @see javax.servlet.http.HttpServletRequest#getHeaderNames()
*/
public Enumeration getHeaderNames()
@@ -509,13 +503,13 @@ public class Request implements HttpServletRequest
}
/* ------------------------------------------------------------ */
- /*
+ /*
* @see javax.servlet.http.HttpServletRequest#getHeaders(java.lang.String)
*/
public Enumeration getHeaders(String name)
{
Enumeration e = _connection.getRequestFields().getValues(name);
- if (e==null)
+ if (e == null)
return Collections.enumeration(Collections.EMPTY_LIST);
return e;
}
@@ -530,19 +524,19 @@ public class Request implements HttpServletRequest
}
/* ------------------------------------------------------------ */
- /*
+ /*
* @see javax.servlet.ServletRequest#getInputStream()
*/
public ServletInputStream getInputStream() throws IOException
{
- if (_inputState!=__NONE && _inputState!=_STREAM)
+ if (_inputState != __NONE && _inputState != _STREAM)
throw new IllegalStateException("READER");
- _inputState=_STREAM;
+ _inputState = _STREAM;
return _connection.getInputStream();
}
/* ------------------------------------------------------------ */
- /*
+ /*
* @see javax.servlet.http.HttpServletRequest#getIntHeader(java.lang.String)
*/
public int getIntHeader(String name)
@@ -551,37 +545,37 @@ public class Request implements HttpServletRequest
}
/* ------------------------------------------------------------ */
- /*
+ /*
* @see javax.servlet.ServletRequest#getLocalAddr()
*/
public String getLocalAddr()
{
- return _endp==null?null:_endp.getLocalAddr();
+ return _endp == null?null:_endp.getLocalAddr();
}
/* ------------------------------------------------------------ */
- /*
+ /*
* @see javax.servlet.ServletRequest#getLocale()
*/
public Locale getLocale()
{
- Enumeration enm = _connection.getRequestFields().getValues(HttpHeaders.ACCEPT_LANGUAGE, HttpFields.__separators);
-
+ Enumeration enm = _connection.getRequestFields().getValues(HttpHeaders.ACCEPT_LANGUAGE,HttpFields.__separators);
+
// handle no locale
if (enm == null || !enm.hasMoreElements())
return Locale.getDefault();
-
+
// sort the list in quality order
List acceptLanguage = HttpFields.qualityList(enm);
- if (acceptLanguage.size()==0)
- return Locale.getDefault();
-
- int size=acceptLanguage.size();
+ if (acceptLanguage.size() == 0)
+ return Locale.getDefault();
- if (size>0)
+ int size = acceptLanguage.size();
+
+ if (size > 0)
{
String language = (String)acceptLanguage.get(0);
- language=HttpFields.valueParameters(language,null);
+ language = HttpFields.valueParameters(language,null);
String country = "";
int dash = language.indexOf('-');
if (dash > -1)
@@ -591,38 +585,37 @@ public class Request implements HttpServletRequest
}
return new Locale(language,country);
}
-
- return Locale.getDefault();
+
+ return Locale.getDefault();
}
/* ------------------------------------------------------------ */
- /*
+ /*
* @see javax.servlet.ServletRequest#getLocales()
*/
public Enumeration getLocales()
{
- Enumeration enm = _connection.getRequestFields().getValues(HttpHeaders.ACCEPT_LANGUAGE, HttpFields.__separators);
-
+ Enumeration enm = _connection.getRequestFields().getValues(HttpHeaders.ACCEPT_LANGUAGE,HttpFields.__separators);
+
// handle no locale
if (enm == null || !enm.hasMoreElements())
return Collections.enumeration(__defaultLocale);
-
+
// sort the list in quality order
List acceptLanguage = HttpFields.qualityList(enm);
-
- if (acceptLanguage.size()==0)
- return
- Collections.enumeration(__defaultLocale);
-
+
+ if (acceptLanguage.size() == 0)
+ return Collections.enumeration(__defaultLocale);
+
Object langs = null;
- int size=acceptLanguage.size();
-
+ int size = acceptLanguage.size();
+
// convert to locals
- for (int i=0; i<size; i++)
+ for (int i = 0; i < size; i++)
{
String language = (String)acceptLanguage.get(i);
- language=HttpFields.valueParameters(language,null);
+ language = HttpFields.valueParameters(language,null);
String country = "";
int dash = language.indexOf('-');
if (dash > -1)
@@ -630,44 +623,44 @@ public class Request implements HttpServletRequest
country = language.substring(dash + 1).trim();
language = language.substring(0,dash).trim();
}
- langs=LazyList.ensureSize(langs,size);
- langs=LazyList.add(langs,new Locale(language,country));
+ langs = LazyList.ensureSize(langs,size);
+ langs = LazyList.add(langs,new Locale(language,country));
}
-
- if (LazyList.size(langs)==0)
+
+ if (LazyList.size(langs) == 0)
return Collections.enumeration(__defaultLocale);
-
+
return Collections.enumeration(LazyList.getList(langs));
}
/* ------------------------------------------------------------ */
- /*
+ /*
* @see javax.servlet.ServletRequest#getLocalName()
*/
public String getLocalName()
{
- if (_endp==null)
+ if (_endp == null)
return null;
if (_dns)
return _endp.getLocalHost();
-
+
String local = _endp.getLocalAddr();
- if (local!=null && local.indexOf(':')>=0)
- local="["+local+"]";
+ if (local != null && local.indexOf(':') >= 0)
+ local = "[" + local + "]";
return local;
}
/* ------------------------------------------------------------ */
- /*
+ /*
* @see javax.servlet.ServletRequest#getLocalPort()
*/
public int getLocalPort()
{
- return _endp==null?0:_endp.getLocalPort();
+ return _endp == null?0:_endp.getLocalPort();
}
/* ------------------------------------------------------------ */
- /*
+ /*
* @see javax.servlet.http.HttpServletRequest#getMethod()
*/
public String getMethod()
@@ -676,35 +669,35 @@ public class Request implements HttpServletRequest
}
/* ------------------------------------------------------------ */
- /*
+ /*
* @see javax.servlet.ServletRequest#getParameter(java.lang.String)
*/
public String getParameter(String name)
{
- if (!_paramsExtracted)
+ if (!_paramsExtracted)
extractParameters();
- return (String) _parameters.getValue(name, 0);
+ return (String)_parameters.getValue(name,0);
}
/* ------------------------------------------------------------ */
- /*
+ /*
* @see javax.servlet.ServletRequest#getParameterMap()
*/
public Map getParameterMap()
{
- if (!_paramsExtracted)
+ if (!_paramsExtracted)
extractParameters();
-
+
return Collections.unmodifiableMap(_parameters.toStringArrayMap());
}
/* ------------------------------------------------------------ */
- /*
+ /*
* @see javax.servlet.ServletRequest#getParameterNames()
*/
public Enumeration getParameterNames()
{
- if (!_paramsExtracted)
+ if (!_paramsExtracted)
extractParameters();
return Collections.enumeration(_parameters.keySet());
}
@@ -719,21 +712,21 @@ public class Request implements HttpServletRequest
}
/* ------------------------------------------------------------ */
- /*
+ /*
* @see javax.servlet.ServletRequest#getParameterValues(java.lang.String)
*/
public String[] getParameterValues(String name)
{
- if (!_paramsExtracted)
+ if (!_paramsExtracted)
extractParameters();
List<Object> vals = _parameters.getValues(name);
- if (vals==null)
+ if (vals == null)
return null;
- return (String[])vals.toArray(new String[vals.size()]);
+ return vals.toArray(new String[vals.size()]);
}
/* ------------------------------------------------------------ */
- /*
+ /*
* @see javax.servlet.http.HttpServletRequest#getPathInfo()
*/
public String getPathInfo()
@@ -742,18 +735,18 @@ public class Request implements HttpServletRequest
}
/* ------------------------------------------------------------ */
- /*
+ /*
* @see javax.servlet.http.HttpServletRequest#getPathTranslated()
*/
public String getPathTranslated()
{
- if (_pathInfo==null || _context==null)
+ if (_pathInfo == null || _context == null)
return null;
return _context.getRealPath(_pathInfo);
}
/* ------------------------------------------------------------ */
- /*
+ /*
* @see javax.servlet.ServletRequest#getProtocol()
*/
public String getProtocol()
@@ -768,78 +761,78 @@ public class Request implements HttpServletRequest
}
/* ------------------------------------------------------------ */
- /*
+ /*
* @see javax.servlet.http.HttpServletRequest#getQueryString()
*/
public String getQueryString()
{
- if (_queryString==null && _uri!=null)
+ if (_queryString == null && _uri != null)
{
- if (_queryEncoding==null)
- _queryString=_uri.getQuery();
+ if (_queryEncoding == null)
+ _queryString = _uri.getQuery();
else
- _queryString=_uri.getQuery(_queryEncoding);
+ _queryString = _uri.getQuery(_queryEncoding);
}
return _queryString;
}
/* ------------------------------------------------------------ */
- /*
+ /*
* @see javax.servlet.ServletRequest#getReader()
*/
public BufferedReader getReader() throws IOException
{
- if (_inputState!=__NONE && _inputState!=__READER)
+ if (_inputState != __NONE && _inputState != __READER)
throw new IllegalStateException("STREAMED");
- if (_inputState==__READER)
+ if (_inputState == __READER)
return _reader;
-
- String encoding=getCharacterEncoding();
- if (encoding==null)
- encoding=StringUtil.__ISO_8859_1;
-
- if (_reader==null || !encoding.equalsIgnoreCase(_readerEncoding))
+
+ String encoding = getCharacterEncoding();
+ if (encoding == null)
+ encoding = StringUtil.__ISO_8859_1;
+
+ if (_reader == null || !encoding.equalsIgnoreCase(_readerEncoding))
{
final ServletInputStream in = getInputStream();
- _readerEncoding=encoding;
- _reader=new BufferedReader(new InputStreamReader(in,encoding))
+ _readerEncoding = encoding;
+ _reader = new BufferedReader(new InputStreamReader(in,encoding))
{
@Override
public void close() throws IOException
{
in.close();
- }
+ }
};
}
- _inputState=__READER;
+ _inputState = __READER;
return _reader;
}
/* ------------------------------------------------------------ */
- /*
+ /*
* @see javax.servlet.ServletRequest#getRealPath(java.lang.String)
*/
public String getRealPath(String path)
{
- if (_context==null)
+ if (_context == null)
return null;
return _context.getRealPath(path);
}
/* ------------------------------------------------------------ */
- /*
+ /*
* @see javax.servlet.ServletRequest#getRemoteAddr()
*/
public String getRemoteAddr()
{
if (_remoteAddr != null)
- return _remoteAddr;
- return _endp==null?null:_endp.getRemoteAddr();
+ return _remoteAddr;
+ return _endp == null?null:_endp.getRemoteAddr();
}
/* ------------------------------------------------------------ */
- /*
+ /*
* @see javax.servlet.ServletRequest#getRemoteHost()
*/
public String getRemoteHost()
@@ -850,58 +843,58 @@ public class Request implements HttpServletRequest
{
return _remoteHost;
}
- return _endp==null?null:_endp.getRemoteHost();
+ return _endp == null?null:_endp.getRemoteHost();
}
return getRemoteAddr();
}
/* ------------------------------------------------------------ */
- /*
+ /*
* @see javax.servlet.ServletRequest#getRemotePort()
*/
public int getRemotePort()
{
- return _endp==null?0:_endp.getRemotePort();
+ return _endp == null?0:_endp.getRemotePort();
}
/* ------------------------------------------------------------ */
- /*
+ /*
* @see javax.servlet.http.HttpServletRequest#getRemoteUser()
*/
public String getRemoteUser()
{
Principal p = getUserPrincipal();
- if (p==null)
+ if (p == null)
return null;
return p.getName();
}
/* ------------------------------------------------------------ */
- /*
+ /*
* @see javax.servlet.ServletRequest#getRequestDispatcher(java.lang.String)
*/
public RequestDispatcher getRequestDispatcher(String path)
{
- if (path == null || _context==null)
+ if (path == null || _context == null)
return null;
// handle relative path
if (!path.startsWith("/"))
{
- String relTo=URIUtil.addPaths(_servletPath,_pathInfo);
- int slash=relTo.lastIndexOf("/");
- if (slash>1)
- relTo=relTo.substring(0,slash+1);
+ String relTo = URIUtil.addPaths(_servletPath,_pathInfo);
+ int slash = relTo.lastIndexOf("/");
+ if (slash > 1)
+ relTo = relTo.substring(0,slash + 1);
else
- relTo="/";
- path=URIUtil.addPaths(relTo,path);
+ relTo = "/";
+ path = URIUtil.addPaths(relTo,path);
}
-
+
return _context.getRequestDispatcher(path);
}
-
+
/* ------------------------------------------------------------ */
- /*
+ /*
* @see javax.servlet.http.HttpServletRequest#getRequestedSessionId()
*/
public String getRequestedSessionId()
@@ -910,18 +903,18 @@ public class Request implements HttpServletRequest
}
/* ------------------------------------------------------------ */
- /*
+ /*
* @see javax.servlet.http.HttpServletRequest#getRequestURI()
*/
public String getRequestURI()
{
- if (_requestURI==null && _uri!=null)
- _requestURI=_uri.getPathAndParam();
+ if (_requestURI == null && _uri != null)
+ _requestURI = _uri.getPathAndParam();
return _requestURI;
}
/* ------------------------------------------------------------ */
- /*
+ /*
* @see javax.servlet.http.HttpServletRequest#getRequestURL()
*/
public StringBuffer getRequestURL()
@@ -935,14 +928,12 @@ public class Request implements HttpServletRequest
url.append(scheme);
url.append("://");
url.append(getServerName());
- if (_port>0 &&
- ((scheme.equalsIgnoreCase(URIUtil.HTTP) && port != 80) ||
- (scheme.equalsIgnoreCase(URIUtil.HTTPS) && port != 443)))
+ if (_port > 0 && ((scheme.equalsIgnoreCase(URIUtil.HTTP) && port != 80) || (scheme.equalsIgnoreCase(URIUtil.HTTPS) && port != 443)))
{
url.append(':');
url.append(_port);
}
-
+
url.append(getRequestURI());
return url;
}
@@ -953,17 +944,16 @@ public class Request implements HttpServletRequest
{
return _connection._response;
}
-
+
/* ------------------------------------------------------------ */
/**
- * Reconstructs the URL the client used to make the request. The returned URL contains a
- * protocol, server name, port number, and, but it does not include a path.
+ * Reconstructs the URL the client used to make the request. The returned URL contains a protocol, server name, port number, and, but it does not include a
+ * path.
* <p>
- * Because this method returns a <code>StringBuffer</code>, not a string, you can modify the
- * URL easily, for example, to append path and query parameters.
- *
+ * Because this method returns a <code>StringBuffer</code>, not a string, you can modify the URL easily, for example, to append path and query parameters.
+ *
* This method is useful for creating redirect messages and for reporting errors.
- *
+ *
* @return "scheme://host:port"
*/
public StringBuilder getRootURL()
@@ -985,7 +975,7 @@ public class Request implements HttpServletRequest
}
/* ------------------------------------------------------------ */
- /*
+ /*
* @see javax.servlet.ServletRequest#getScheme()
*/
public String getScheme()
@@ -994,49 +984,48 @@ public class Request implements HttpServletRequest
}
/* ------------------------------------------------------------ */
- /*
+ /*
* @see javax.servlet.ServletRequest#getServerName()
*/
public String getServerName()
- {
+ {
// Return already determined host
- if (_serverName != null)
+ if (_serverName != null)
return _serverName;
-
+
if (_uri == null)
throw new IllegalStateException("No uri");
// Return host from absolute URI
_serverName = _uri.getHost();
_port = _uri.getPort();
- if (_serverName != null)
+ if (_serverName != null)
return _serverName;
// Return host from header field
Buffer hostPort = _connection.getRequestFields().get(HttpHeaders.HOST_BUFFER);
- if (hostPort!=null)
+ if (hostPort != null)
{
- loop:
- for (int i=hostPort.putIndex();i-->hostPort.getIndex();)
+ loop: for (int i = hostPort.putIndex(); i-- > hostPort.getIndex();)
{
- char ch=(char)(0xff&hostPort.peek(i));
- switch(ch)
+ char ch = (char)(0xff & hostPort.peek(i));
+ switch (ch)
{
case ']':
break loop;
case ':':
- _serverName=BufferUtil.to8859_1_String(hostPort.peek(hostPort.getIndex(), i-hostPort.getIndex()));
- _port=BufferUtil.toInt(hostPort.peek(i+1, hostPort.putIndex()-i-1));
+ _serverName = BufferUtil.to8859_1_String(hostPort.peek(hostPort.getIndex(),i - hostPort.getIndex()));
+ _port = BufferUtil.toInt(hostPort.peek(i + 1,hostPort.putIndex() - i - 1));
return _serverName;
}
}
- if (_serverName==null || _port<0)
+ if (_serverName == null || _port < 0)
{
- _serverName=BufferUtil.to8859_1_String(hostPort);
+ _serverName = BufferUtil.to8859_1_String(hostPort);
_port = 0;
}
-
+
return _serverName;
}
@@ -1045,7 +1034,7 @@ public class Request implements HttpServletRequest
{
_serverName = getLocalName();
_port = getLocalPort();
- if (_serverName != null && !StringUtil.ALL_INTERFACES.equals(_serverName))
+ if (_serverName != null && !StringUtil.ALL_INTERFACES.equals(_serverName))
return _serverName;
}
@@ -1062,26 +1051,26 @@ public class Request implements HttpServletRequest
}
/* ------------------------------------------------------------ */
- /*
+ /*
* @see javax.servlet.ServletRequest#getServerPort()
*/
public int getServerPort()
{
- if (_port<=0)
+ if (_port <= 0)
{
- if (_serverName==null)
+ if (_serverName == null)
getServerName();
-
- if (_port<=0)
+
+ if (_port <= 0)
{
- if (_serverName!=null && _uri!=null)
+ if (_serverName != null && _uri != null)
_port = _uri.getPort();
else
- _port = _endp==null?0:_endp.getLocalPort();
+ _port = _endp == null?0:_endp.getLocalPort();
}
}
-
- if (_port<=0)
+
+ if (_port <= 0)
{
if (getScheme().equalsIgnoreCase(URIUtil.HTTPS))
return 443;
@@ -1097,23 +1086,23 @@ public class Request implements HttpServletRequest
}
/* ------------------------------------------------------------ */
- /*
+ /*
*/
public String getServletName()
{
- if (_scope!=null)
+ if (_scope != null)
return _scope.getName();
return null;
}
/* ------------------------------------------------------------ */
- /*
+ /*
* @see javax.servlet.http.HttpServletRequest#getServletPath()
*/
public String getServletPath()
{
- if (_servletPath==null)
- _servletPath="";
+ if (_servletPath == null)
+ _servletPath = "";
return _servletPath;
}
@@ -1124,7 +1113,7 @@ public class Request implements HttpServletRequest
}
/* ------------------------------------------------------------ */
- /*
+ /*
* @see javax.servlet.http.HttpServletRequest#getSession()
*/
public HttpSession getSession()
@@ -1133,33 +1122,32 @@ public class Request implements HttpServletRequest
}
/* ------------------------------------------------------------ */
- /*
+ /*
* @see javax.servlet.http.HttpServletRequest#getSession(boolean)
*/
public HttpSession getSession(boolean create)
- {
- if (_session != null )
+ {
+ if (_session != null)
{
- if (_sessionManager!=null && !_sessionManager.isValid(_session))
- _session=null;
+ if (_sessionManager != null && !_sessionManager.isValid(_session))
+ _session = null;
else
return _session;
}
-
+
if (!create)
return null;
-
- if (_sessionManager==null)
+
+ if (_sessionManager == null)
throw new IllegalStateException("No SessionManager");
- _session=_sessionManager.newHttpSession(this);
- HttpCookie cookie=_sessionManager.getSessionCookie(_session,getContextPath(),isSecure());
- if (cookie!=null)
+ _session = _sessionManager.newHttpSession(this);
+ HttpCookie cookie = _sessionManager.getSessionCookie(_session,getContextPath(),isSecure());
+ if (cookie != null)
_connection.getResponse().addCookie(cookie);
-
+
return _session;
}
-
/* ------------------------------------------------------------ */
/**
@@ -1169,31 +1157,31 @@ public class Request implements HttpServletRequest
{
return _sessionManager;
}
-
+
/* ------------------------------------------------------------ */
/**
* Get Request TimeStamp
- *
+ *
* @return The time that the request was received.
*/
public long getTimeStamp()
{
return _timeStamp;
}
-
+
/* ------------------------------------------------------------ */
/**
* Get Request TimeStamp
- *
+ *
* @return The time that the request was received.
*/
public Buffer getTimeStampBuffer()
{
if (_timeStampBuffer == null && _timeStamp > 0)
- _timeStampBuffer = HttpFields.__dateCache.formatBuffer(_timeStamp);
+ _timeStampBuffer = HttpFields.__dateCache.formatBuffer(_timeStamp);
return _timeStampBuffer;
}
-
+
/* ------------------------------------------------------------ */
/**
* @return Returns the uri.
@@ -1208,7 +1196,7 @@ public class Request implements HttpServletRequest
{
if (_authentication instanceof Authentication.Deferred)
setAuthentication(((Authentication.Deferred)_authentication).authenticate(this));
-
+
if (_authentication instanceof Authentication.User)
return ((Authentication.User)_authentication).getUserIdentity();
return null;
@@ -1216,9 +1204,8 @@ public class Request implements HttpServletRequest
/* ------------------------------------------------------------ */
/**
- * @return The resolved user Identity, which may be null if the
- * {@link Authentication} is not {@link Authentication.User}
- * (eg. {@link Authentication.Deferred}).
+ * @return The resolved user Identity, which may be null if the {@link Authentication} is not {@link Authentication.User} (eg.
+ * {@link Authentication.Deferred}).
*/
public UserIdentity getResolvedUserIdentity()
{
@@ -1226,22 +1213,22 @@ public class Request implements HttpServletRequest
return ((Authentication.User)_authentication).getUserIdentity();
return null;
}
-
+
/* ------------------------------------------------------------ */
public UserIdentity.Scope getUserIdentityScope()
{
return _scope;
}
-
+
/* ------------------------------------------------------------ */
- /*
+ /*
* @see javax.servlet.http.HttpServletRequest#getUserPrincipal()
*/
public Principal getUserPrincipal()
{
if (_authentication instanceof Authentication.Deferred)
setAuthentication(((Authentication.Deferred)_authentication).authenticate(this));
-
+
if (_authentication instanceof Authentication.User)
{
UserIdentity user = ((Authentication.User)_authentication).getUserIdentity();
@@ -1249,10 +1236,11 @@ public class Request implements HttpServletRequest
}
return null;
}
-
+
/* ------------------------------------------------------------ */
- /** Get timestamp of the request dispatch
- *
+ /**
+ * Get timestamp of the request dispatch
+ *
* @return timestamp
*/
public long getDispatchTime()
@@ -1271,157 +1259,156 @@ public class Request implements HttpServletRequest
{
return _asyncSupported;
}
-
+
/* ------------------------------------------------------------ */
- /*
+ /*
* @see javax.servlet.http.HttpServletRequest#isRequestedSessionIdFromCookie()
*/
public boolean isRequestedSessionIdFromCookie()
{
- return _requestedSessionId!=null && _requestedSessionIdFromCookie;
+ return _requestedSessionId != null && _requestedSessionIdFromCookie;
}
-
+
/* ------------------------------------------------------------ */
- /*
+ /*
* @see javax.servlet.http.HttpServletRequest#isRequestedSessionIdFromUrl()
*/
public boolean isRequestedSessionIdFromUrl()
{
- return _requestedSessionId!=null && !_requestedSessionIdFromCookie;
+ return _requestedSessionId != null && !_requestedSessionIdFromCookie;
}
-
+
/* ------------------------------------------------------------ */
- /*
+ /*
* @see javax.servlet.http.HttpServletRequest#isRequestedSessionIdFromURL()
*/
public boolean isRequestedSessionIdFromURL()
{
- return _requestedSessionId!=null && !_requestedSessionIdFromCookie;
+ return _requestedSessionId != null && !_requestedSessionIdFromCookie;
}
-
+
/* ------------------------------------------------------------ */
- /*
+ /*
* @see javax.servlet.http.HttpServletRequest#isRequestedSessionIdValid()
*/
public boolean isRequestedSessionIdValid()
- {
- if (_requestedSessionId==null)
+ {
+ if (_requestedSessionId == null)
return false;
-
- HttpSession session=getSession(false);
+
+ HttpSession session = getSession(false);
return (session != null && _sessionManager.getSessionIdManager().getClusterId(_requestedSessionId).equals(_sessionManager.getClusterId(session)));
}
-
+
/* ------------------------------------------------------------ */
- /*
+ /*
* @see javax.servlet.ServletRequest#isSecure()
*/
public boolean isSecure()
{
return _connection.isConfidential(this);
}
-
+
/* ------------------------------------------------------------ */
- /*
+ /*
* @see javax.servlet.http.HttpServletRequest#isUserInRole(java.lang.String)
*/
public boolean isUserInRole(String role)
{
if (_authentication instanceof Authentication.Deferred)
setAuthentication(((Authentication.Deferred)_authentication).authenticate(this));
-
+
if (_authentication instanceof Authentication.User)
return ((Authentication.User)_authentication).isUserInRole(_scope,role);
return false;
}
-
+
/* ------------------------------------------------------------ */
public HttpSession recoverNewSession(Object key)
{
- if (_savedNewSessions==null)
+ if (_savedNewSessions == null)
return null;
return _savedNewSessions.get(key);
}
-
+
/* ------------------------------------------------------------ */
protected void recycle()
{
- if (_inputState==__READER)
+ if (_inputState == __READER)
{
try
{
- int r=_reader.read();
- while(r!=-1)
- r=_reader.read();
+ int r = _reader.read();
+ while (r != -1)
+ r = _reader.read();
}
- catch(Exception e)
+ catch (Exception e)
{
LOG.ignore(e);
- _reader=null;
+ _reader = null;
}
}
-
+
setAuthentication(Authentication.NOT_CHECKED);
- _async.recycle();
- _asyncSupported=true;
- _handled=false;
- if (_context!=null)
+ _async.recycle();
+ _asyncSupported = true;
+ _handled = false;
+ if (_context != null)
throw new IllegalStateException("Request in context!");
- if(_attributes!=null)
+ if (_attributes != null)
_attributes.clearAttributes();
- _characterEncoding=null;
- if (_cookies!=null)
+ _characterEncoding = null;
+ if (_cookies != null)
_cookies.reset();
- _cookiesExtracted=false;
- _context=null;
- _serverName=null;
- _method=null;
- _pathInfo=null;
- _port=0;
- _protocol=HttpVersions.HTTP_1_1;
- _queryEncoding=null;
- _queryString=null;
- _requestedSessionId=null;
- _requestedSessionIdFromCookie=false;
- _session=null;
- _sessionManager=null;
- _requestURI=null;
- _scope=null;
- _scheme=URIUtil.HTTP;
- _servletPath=null;
- _timeStamp=0;
- _timeStampBuffer=null;
- _uri=null;
- if (_baseParameters!=null)
+ _cookiesExtracted = false;
+ _context = null;
+ _serverName = null;
+ _method = null;
+ _pathInfo = null;
+ _port = 0;
+ _protocol = HttpVersions.HTTP_1_1;
+ _queryEncoding = null;
+ _queryString = null;
+ _requestedSessionId = null;
+ _requestedSessionIdFromCookie = false;
+ _session = null;
+ _sessionManager = null;
+ _requestURI = null;
+ _scope = null;
+ _scheme = URIUtil.HTTP;
+ _servletPath = null;
+ _timeStamp = 0;
+ _timeStampBuffer = null;
+ _uri = null;
+ if (_baseParameters != null)
_baseParameters.clear();
- _parameters=null;
- _paramsExtracted=false;
- _inputState=__NONE;
-
- if (_savedNewSessions!=null)
+ _parameters = null;
+ _paramsExtracted = false;
+ _inputState = __NONE;
+
+ if (_savedNewSessions != null)
_savedNewSessions.clear();
- _savedNewSessions=null;
+ _savedNewSessions = null;
}
-
+
/* ------------------------------------------------------------ */
- /*
+ /*
* @see javax.servlet.ServletRequest#removeAttribute(java.lang.String)
*/
public void removeAttribute(String name)
{
- Object old_value=_attributes==null?null:_attributes.getAttribute(name);
-
- if (_attributes!=null)
+ Object old_value = _attributes == null?null:_attributes.getAttribute(name);
+
+ if (_attributes != null)
_attributes.removeAttribute(name);
-
- if (old_value!=null)
+
+ if (old_value != null)
{
- if (_requestAttributeListeners!=null)
+ if (_requestAttributeListeners != null)
{
- final ServletRequestAttributeEvent event =
- new ServletRequestAttributeEvent(_context,this,name, old_value);
- final int size=LazyList.size(_requestAttributeListeners);
- for(int i=0;i<size;i++)
+ final ServletRequestAttributeEvent event = new ServletRequestAttributeEvent(_context,this,name,old_value);
+ final int size = LazyList.size(_requestAttributeListeners);
+ for (int i = 0; i < size; i++)
{
final EventListener listener = (ServletRequestAttributeListener)LazyList.get(_requestAttributeListeners,i);
if (listener instanceof ServletRequestAttributeListener)
@@ -1433,67 +1420,63 @@ public class Request implements HttpServletRequest
}
}
}
-
+
/* ------------------------------------------------------------ */
- public void removeEventListener(final EventListener listener)
+ public void removeEventListener(final EventListener listener)
{
- _requestAttributeListeners= LazyList.remove(_requestAttributeListeners, listener);
+ _requestAttributeListeners = LazyList.remove(_requestAttributeListeners,listener);
}
+
/* ------------------------------------------------------------ */
- public void saveNewSession(Object key,HttpSession session)
+ public void saveNewSession(Object key, HttpSession session)
{
- if (_savedNewSessions==null)
- _savedNewSessions=new HashMap<Object,HttpSession>();
+ if (_savedNewSessions == null)
+ _savedNewSessions = new HashMap<Object, HttpSession>();
_savedNewSessions.put(key,session);
}
+
/* ------------------------------------------------------------ */
public void setAsyncSupported(boolean supported)
{
- _asyncSupported=supported;
+ _asyncSupported = supported;
}
-
+
/* ------------------------------------------------------------ */
- /*
- * Set a request attribute.
- * if the attribute name is "org.eclipse.jetty.server.server.Request.queryEncoding" then
- * the value is also passed in a call to {@link #setQueryEncoding}.
- * <p>
- * if the attribute name is "org.eclipse.jetty.server.server.ResponseBuffer", then
- * the response buffer is flushed with @{link #flushResponseBuffer}
- * <p>
- * if the attribute name is "org.eclipse.jetty.io.EndPoint.maxIdleTime", then the
- * value is passed to the associated {@link EndPoint#setMaxIdleTime}.
+ /*
+ * Set a request attribute. if the attribute name is "org.eclipse.jetty.server.server.Request.queryEncoding" then the value is also passed in a call to
+ * {@link #setQueryEncoding}. <p> if the attribute name is "org.eclipse.jetty.server.server.ResponseBuffer", then the response buffer is flushed with @{link
+ * #flushResponseBuffer} <p> if the attribute name is "org.eclipse.jetty.io.EndPoint.maxIdleTime", then the value is passed to the associated {@link
+ * EndPoint#setMaxIdleTime}.
+ *
* @see javax.servlet.ServletRequest#setAttribute(java.lang.String, java.lang.Object)
*/
public void setAttribute(String name, Object value)
{
- Object old_value=_attributes==null?null:_attributes.getAttribute(name);
-
+ Object old_value = _attributes == null?null:_attributes.getAttribute(name);
+
if (name.startsWith("org.eclipse.jetty."))
{
if ("org.eclipse.jetty.server.Request.queryEncoding".equals(name))
- setQueryEncoding(value==null?null:value.toString());
- else if("org.eclipse.jetty.server.sendContent".equals(name))
+ setQueryEncoding(value == null?null:value.toString());
+ else if ("org.eclipse.jetty.server.sendContent".equals(name))
{
- try
+ try
{
- ((AbstractHttpConnection.Output)getServletResponse().getOutputStream()).sendContent(value);
- }
+ ((AbstractHttpConnection.Output)getServletResponse().getOutputStream()).sendContent(value);
+ }
catch (IOException e)
{
throw new RuntimeException(e);
}
}
- else if("org.eclipse.jetty.server.ResponseBuffer".equals(name))
+ else if ("org.eclipse.jetty.server.ResponseBuffer".equals(name))
{
try
{
- final ByteBuffer byteBuffer=(ByteBuffer)value;
+ final ByteBuffer byteBuffer = (ByteBuffer)value;
synchronized (byteBuffer)
{
- NIOBuffer buffer = byteBuffer.isDirect()
- ?new DirectNIOBuffer(byteBuffer,true)
- :new IndirectNIOBuffer(byteBuffer,true);
+ NIOBuffer buffer = byteBuffer.isDirect()?new DirectNIOBuffer(byteBuffer,true):new IndirectNIOBuffer(byteBuffer,true);
((AbstractHttpConnection.Output)getServletResponse().getOutputStream()).sendResponse(buffer);
}
}
@@ -1508,32 +1491,31 @@ public class Request implements HttpServletRequest
{
getConnection().getEndPoint().setMaxIdleTime(Integer.valueOf(value.toString()));
}
- catch(IOException e)
+ catch (IOException e)
{
throw new RuntimeException(e);
}
}
}
-
- if (_attributes==null)
- _attributes=new AttributesMap();
- _attributes.setAttribute(name, value);
-
- if (_requestAttributeListeners!=null)
+
+ if (_attributes == null)
+ _attributes = new AttributesMap();
+ _attributes.setAttribute(name,value);
+
+ if (_requestAttributeListeners != null)
{
- final ServletRequestAttributeEvent event =
- new ServletRequestAttributeEvent(_context,this,name, old_value==null?value:old_value);
- final int size=LazyList.size(_requestAttributeListeners);
- for(int i=0;i<size;i++)
+ final ServletRequestAttributeEvent event = new ServletRequestAttributeEvent(_context,this,name,old_value == null?value:old_value);
+ final int size = LazyList.size(_requestAttributeListeners);
+ for (int i = 0; i < size; i++)
{
final EventListener listener = (ServletRequestAttributeListener)LazyList.get(_requestAttributeListeners,i);
if (listener instanceof ServletRequestAttributeListener)
{
final ServletRequestAttributeListener l = (ServletRequestAttributeListener)listener;
- if (old_value==null)
+ if (old_value == null)
l.attributeAdded(event);
- else if (value==null)
+ else if (value == null)
l.attributeRemoved(event);
else
l.attributeReplaced(event);
@@ -1541,21 +1523,23 @@ public class Request implements HttpServletRequest
}
}
}
-
+
/* ------------------------------------------------------------ */
- /*
+ /*
*/
public void setAttributes(Attributes attributes)
{
- _attributes=attributes;
+ _attributes = attributes;
}
-
+
/* ------------------------------------------------------------ */
-
/* ------------------------------------------------------------ */
- /** Set the authentication.
- * @param authentication the authentication to set
+ /**
+ * Set the authentication.
+ *
+ * @param authentication
+ * the authentication to set
*/
public void setAuthentication(Authentication authentication)
{
@@ -1563,78 +1547,80 @@ public class Request implements HttpServletRequest
}
/* ------------------------------------------------------------ */
- /*
+ /*
* @see javax.servlet.ServletRequest#setCharacterEncoding(java.lang.String)
*/
public void setCharacterEncoding(String encoding) throws UnsupportedEncodingException
{
- if (_inputState!=__NONE)
+ if (_inputState != __NONE)
return;
- _characterEncoding=encoding;
+ _characterEncoding = encoding;
// check encoding is supported
if (!StringUtil.isUTF8(encoding))
- //noinspection ResultOfMethodCallIgnored
+ // noinspection ResultOfMethodCallIgnored
"".getBytes(encoding);
}
/* ------------------------------------------------------------ */
- /*
+ /*
* @see javax.servlet.ServletRequest#setCharacterEncoding(java.lang.String)
*/
public void setCharacterEncodingUnchecked(String encoding)
{
- _characterEncoding=encoding;
+ _characterEncoding = encoding;
}
/* ------------------------------------------------------------ */
- //final so we can safely call this from constructor
+ // final so we can safely call this from constructor
protected final void setConnection(AbstractHttpConnection connection)
{
- _connection=connection;
- _async.setConnection(connection);
- _endp=connection.getEndPoint();
- _dns=connection.getResolveNames();
+ _connection = connection;
+ _async.setConnection(connection);
+ _endp = connection.getEndPoint();
+ _dns = connection.getResolveNames();
}
/* ------------------------------------------------------------ */
- /*
+ /*
* @see javax.servlet.ServletRequest#getContentType()
*/
public void setContentType(String contentType)
{
_connection.getRequestFields().put(HttpHeaders.CONTENT_TYPE_BUFFER,contentType);
-
+
}
/* ------------------------------------------------------------ */
/**
* Set request context
- *
- * @param context context object
+ *
+ * @param context
+ * context object
*/
public void setContext(Context context)
{
- _newContext=_context!=context;
- _context=context;
+ _newContext = _context != context;
+ _context = context;
}
-
+
/* ------------------------------------------------------------ */
/**
- * @return True if this is the first call of {@link #takeNewContext()}
- * since the last {@link #setContext(org.eclipse.jetty.server.handler.ContextHandler.Context)} call.
+ * @return True if this is the first call of {@link #takeNewContext()} since the last
+ * {@link #setContext(org.eclipse.jetty.server.handler.ContextHandler.Context)} call.
*/
public boolean takeNewContext()
{
- boolean nc=_newContext;
- _newContext=false;
+ boolean nc = _newContext;
+ _newContext = false;
return nc;
}
-
+
/* ------------------------------------------------------------ */
/**
* Sets the "context path" for this request
+ *
* @see HttpServletRequest#getContextPath()
*/
public void setContextPath(String contextPath)
@@ -1644,30 +1630,32 @@ public class Request implements HttpServletRequest
/* ------------------------------------------------------------ */
/**
- * @param cookies The cookies to set.
+ * @param cookies
+ * The cookies to set.
*/
public void setCookies(Cookie[] cookies)
{
- if (_cookies==null)
- _cookies=new CookieCutter();
+ if (_cookies == null)
+ _cookies = new CookieCutter();
_cookies.setCookies(cookies);
}
/* ------------------------------------------------------------ */
public void setDispatcherType(DispatcherType type)
{
- _dispatcherType=type;
+ _dispatcherType = type;
}
-
+
/* ------------------------------------------------------------ */
public void setHandled(boolean h)
{
- _handled=h;
+ _handled = h;
}
-
+
/* ------------------------------------------------------------ */
/**
- * @param method The method to set.
+ * @param method
+ * The method to set.
*/
public void setMethod(String method)
{
@@ -1676,27 +1664,30 @@ public class Request implements HttpServletRequest
/* ------------------------------------------------------------ */
/**
- * @param parameters The parameters to set.
+ * @param parameters
+ * The parameters to set.
*/
public void setParameters(MultiMap<String> parameters)
{
- _parameters= (parameters==null)?_baseParameters:parameters;
- if (_paramsExtracted && _parameters==null)
+ _parameters = (parameters == null)?_baseParameters:parameters;
+ if (_paramsExtracted && _parameters == null)
throw new IllegalStateException();
}
/* ------------------------------------------------------------ */
/**
- * @param pathInfo The pathInfo to set.
+ * @param pathInfo
+ * The pathInfo to set.
*/
public void setPathInfo(String pathInfo)
{
_pathInfo = pathInfo;
}
-
+
/* ------------------------------------------------------------ */
/**
- * @param protocol The protocol to set.
+ * @param protocol
+ * The protocol to set.
*/
public void setProtocol(String protocol)
{
@@ -1704,33 +1695,34 @@ public class Request implements HttpServletRequest
}
/* ------------------------------------------------------------ */
- /** Set the character encoding used for the query string.
- * This call will effect the return of getQueryString and getParamaters.
- * It must be called before any geParameter methods.
- *
- * The request attribute "org.eclipse.jetty.server.server.Request.queryEncoding"
- * may be set as an alternate method of calling setQueryEncoding.
- *
+ /**
+ * Set the character encoding used for the query string. This call will effect the return of getQueryString and getParamaters. It must be called before any
+ * geParameter methods.
+ *
+ * The request attribute "org.eclipse.jetty.server.server.Request.queryEncoding" may be set as an alternate method of calling setQueryEncoding.
+ *
* @param queryEncoding
*/
public void setQueryEncoding(String queryEncoding)
{
- _queryEncoding=queryEncoding;
- _queryString=null;
+ _queryEncoding = queryEncoding;
+ _queryString = null;
}
-
+
/* ------------------------------------------------------------ */
/**
- * @param queryString The queryString to set.
+ * @param queryString
+ * The queryString to set.
*/
public void setQueryString(String queryString)
{
_queryString = queryString;
}
-
+
/* ------------------------------------------------------------ */
/**
- * @param addr The address to set.
+ * @param addr
+ * The address to set.
*/
public void setRemoteAddr(String addr)
{
@@ -1739,7 +1731,8 @@ public class Request implements HttpServletRequest
/* ------------------------------------------------------------ */
/**
- * @param host The host to set.
+ * @param host
+ * The host to set.
*/
public void setRemoteHost(String host)
{
@@ -1748,16 +1741,18 @@ public class Request implements HttpServletRequest
/* ------------------------------------------------------------ */
/**
- * @param requestedSessionId The requestedSessionId to set.
+ * @param requestedSessionId
+ * The requestedSessionId to set.
*/
public void setRequestedSessionId(String requestedSessionId)
{
_requestedSessionId = requestedSessionId;
}
-
+
/* ------------------------------------------------------------ */
/**
- * @param requestedSessionIdCookie The requestedSessionIdCookie to set.
+ * @param requestedSessionIdCookie
+ * The requestedSessionIdCookie to set.
*/
public void setRequestedSessionIdFromCookie(boolean requestedSessionIdCookie)
{
@@ -1766,7 +1761,8 @@ public class Request implements HttpServletRequest
/* ------------------------------------------------------------ */
/**
- * @param requestURI The requestURI to set.
+ * @param requestURI
+ * The requestURI to set.
*/
public void setRequestURI(String requestURI)
{
@@ -1775,7 +1771,8 @@ public class Request implements HttpServletRequest
/* ------------------------------------------------------------ */
/**
- * @param scheme The scheme to set.
+ * @param scheme
+ * The scheme to set.
*/
public void setScheme(String scheme)
{
@@ -1784,16 +1781,18 @@ public class Request implements HttpServletRequest
/* ------------------------------------------------------------ */
/**
- * @param host The host to set.
+ * @param host
+ * The host to set.
*/
public void setServerName(String host)
{
_serverName = host;
}
-
+
/* ------------------------------------------------------------ */
/**
- * @param port The port to set.
+ * @param port
+ * The port to set.
*/
public void setServerPort(int port)
{
@@ -1802,7 +1801,8 @@ public class Request implements HttpServletRequest
/* ------------------------------------------------------------ */
/**
- * @param servletPath The servletPath to set.
+ * @param servletPath
+ * The servletPath to set.
*/
public void setServletPath(String servletPath)
{
@@ -1811,7 +1811,8 @@ public class Request implements HttpServletRequest
/* ------------------------------------------------------------ */
/**
- * @param session The session to set.
+ * @param session
+ * The session to set.
*/
public void setSession(HttpSession session)
{
@@ -1820,7 +1821,8 @@ public class Request implements HttpServletRequest
/* ------------------------------------------------------------ */
/**
- * @param sessionManager The sessionManager to set.
+ * @param sessionManager
+ * The sessionManager to set.
*/
public void setSessionManager(SessionManager sessionManager)
{
@@ -1835,7 +1837,8 @@ public class Request implements HttpServletRequest
/* ------------------------------------------------------------ */
/**
- * @param uri The uri to set.
+ * @param uri
+ * The uri to set.
*/
public void setUri(HttpURI uri)
{
@@ -1845,13 +1848,15 @@ public class Request implements HttpServletRequest
/* ------------------------------------------------------------ */
public void setUserIdentityScope(UserIdentity.Scope scope)
{
- _scope=scope;
+ _scope = scope;
}
/* ------------------------------------------------------------ */
- /** Set timetstamp of request dispatch
- *
- * @param value timestamp
+ /**
+ * Set timetstamp of request dispatch
+ *
+ * @param value
+ * timestamp
*/
public void setDispatchTime(long value)
{
@@ -1863,7 +1868,7 @@ public class Request implements HttpServletRequest
{
if (!_asyncSupported)
throw new IllegalStateException("!asyncSupported");
- _async.suspend(_context,this,_connection._response);
+ _async.suspend(_context,this,_connection._response);
return _async;
}
@@ -1880,85 +1885,85 @@ public class Request implements HttpServletRequest
@Override
public String toString()
{
- return (_handled?"[":"(")+getMethod()+" "+_uri+(_handled?"]@":")@")+hashCode()+" "+super.toString();
+ return (_handled?"[":"(") + getMethod() + " " + _uri + (_handled?"]@":")@") + hashCode() + " " + super.toString();
}
-
-
+
/* ------------------------------------------------------------ */
- /** Merge in a new query string.
- * The query string is merged with the existing parameters and {@link #setParameters(MultiMap)} and {@link #setQueryString(String)} are called with the result.
- * The merge is according to the rules of the servlet dispatch forward method.
- * @param query The query string to merge into the request.
+ /**
+ * Merge in a new query string. The query string is merged with the existing parameters and {@link #setParameters(MultiMap)} and
+ * {@link #setQueryString(String)} are called with the result. The merge is according to the rules of the servlet dispatch forward method.
+ *
+ * @param query
+ * The query string to merge into the request.
*/
public void mergeQueryString(String query)
{
// extract parameters from dispatch query
- MultiMap<String> parameters=new MultiMap<String>();
+ MultiMap<String> parameters = new MultiMap<String>();
UrlEncoded.decodeTo(query,parameters,getCharacterEncoding());
-
+
boolean merge_old_query = false;
// Have we evaluated parameters
- if (!_paramsExtracted)
+ if (!_paramsExtracted)
extractParameters();
-
+
// Are there any existing parameters?
- if (_parameters!=null && _parameters.size()>0)
+ if (_parameters != null && _parameters.size() > 0)
{
// Merge parameters; new parameters of the same name take precedence.
- Iterator<Entry<String,Object>> iter = _parameters.entrySet().iterator();
+ Iterator<Entry<String, Object>> iter = _parameters.entrySet().iterator();
while (iter.hasNext())
{
- Map.Entry<String,Object> entry = iter.next();
- String name=entry.getKey();
-
+ Map.Entry<String, Object> entry = iter.next();
+ String name = entry.getKey();
+
// If the names match, we will need to remake the query string
if (parameters.containsKey(name))
merge_old_query = true;
// Add the old values to the new parameter map
- Object values=entry.getValue();
- for (int i=0;i<LazyList.size(values);i++)
- parameters.add(name, LazyList.get(values, i));
+ Object values = entry.getValue();
+ for (int i = 0; i < LazyList.size(values); i++)
+ parameters.add(name,LazyList.get(values,i));
}
}
-
- if (_queryString != null && _queryString.length()>0)
+
+ if (_queryString != null && _queryString.length() > 0)
{
- if ( merge_old_query )
+ if (merge_old_query)
{
StringBuilder overridden_query_string = new StringBuilder();
MultiMap<String> overridden_old_query = new MultiMap<String>();
UrlEncoded.decodeTo(_queryString,overridden_old_query,getCharacterEncoding());
- MultiMap<String> overridden_new_query = new MultiMap<String>();
+ MultiMap<String> overridden_new_query = new MultiMap<String>();
UrlEncoded.decodeTo(query,overridden_new_query,getCharacterEncoding());
- Iterator<Entry<String,Object>> iter = overridden_old_query.entrySet().iterator();
+ Iterator<Entry<String, Object>> iter = overridden_old_query.entrySet().iterator();
while (iter.hasNext())
{
- Map.Entry<String,Object> entry = iter.next();
- String name=entry.getKey();
- if(!overridden_new_query.containsKey(name))
+ Map.Entry<String, Object> entry = iter.next();
+ String name = entry.getKey();
+ if (!overridden_new_query.containsKey(name))
{
- Object values=entry.getValue();
- for (int i=0;i<LazyList.size(values);i++)
+ Object values = entry.getValue();
+ for (int i = 0; i < LazyList.size(values); i++)
{
- overridden_query_string.append("&").append(name).append("=").append(LazyList.get(values, i));
+ overridden_query_string.append("&").append(name).append("=").append(LazyList.get(values,i));
}
}
}
-
+
query = query + overridden_query_string;
}
- else
+ else
{
- query=query+"&"+_queryString;
+ query = query + "&" + _queryString;
}
- }
+ }
- setParameters(parameters);
- setQueryString(query);
+ setParameters(parameters);
+ setQueryString(query);
}
}
-

Back to the top