Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-10.0.x-4567-StdErrLog-throwable

This commit is contained in:
Joakim Erdfelt 2020-02-20 11:16:19 -06:00
commit 3c6c9112de
No known key found for this signature in database
GPG Key ID: 2D0E1FB8FE4B68B4
314 changed files with 3543 additions and 6944 deletions

View File

@ -54,27 +54,18 @@ public class JettyJasperInitializer extends JasperInitializer
super(context, namespaceAware, validation, blockExternal);
}
/**
* @see org.apache.jasper.servlet.TldScanner#scan()
*/
@Override
public void scan() throws IOException, SAXException
{
return; //do nothing
}
/**
* @see org.apache.jasper.servlet.TldScanner#getListeners()
*/
@Override
public List<String> getListeners()
{
return Collections.emptyList();
}
/**
* @see org.apache.jasper.servlet.TldScanner#scanJars()
*/
@Override
public void scanJars()
{

View File

@ -48,9 +48,6 @@ public class JettyTldPreScanned extends TldPreScanned
_jettyPreScannedURLs = preScannedTlds;
}
/**
* @see org.apache.jasper.servlet.TldPreScanned#scanJars()
*/
@Override
public void scanJars()
{

View File

@ -62,9 +62,6 @@ public class TestJettyJspServlet
super();
}
/**
* @see javax.servlet.http.HttpServlet#doGet(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
*/
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
{

View File

@ -28,7 +28,6 @@ import java.util.LinkedList;
import java.util.Map;
import java.util.Queue;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@ -94,10 +93,6 @@ public class SerialRestServlet extends AbstractRestServlet
out.close();
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
* response)
*/
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{

View File

@ -332,9 +332,6 @@ public class AnnotationConfiguration extends AbstractConfiguration
_discoverableAnnotationHandlers.add(handler);
}
/**
* @see org.eclipse.jetty.webapp.AbstractConfiguration#configure(org.eclipse.jetty.webapp.WebAppContext)
*/
@Override
public void configure(WebAppContext context) throws Exception
{
@ -371,9 +368,6 @@ public class AnnotationConfiguration extends AbstractConfiguration
}
}
/**
* @see org.eclipse.jetty.webapp.AbstractConfiguration#postConfigure(org.eclipse.jetty.webapp.WebAppContext)
*/
@Override
public void postConfigure(WebAppContext context) throws Exception
{
@ -563,9 +557,6 @@ public class AnnotationConfiguration extends AbstractConfiguration
return Integer.getInteger(MAX_SCAN_WAIT, DEFAULT_MAX_SCAN_WAIT).intValue();
}
/**
* @see org.eclipse.jetty.webapp.AbstractConfiguration#cloneConfigure(org.eclipse.jetty.webapp.WebAppContext, org.eclipse.jetty.webapp.WebAppContext)
*/
@Override
public void cloneConfigure(WebAppContext template, WebAppContext context) throws Exception
{

View File

@ -43,9 +43,6 @@ public class DeclareRolesAnnotationHandler extends AbstractIntrospectableAnnotat
_context = context;
}
/**
* @see org.eclipse.jetty.annotations.AnnotationIntrospector.AbstractIntrospectableAnnotationHandler#doHandle(java.lang.Class)
*/
@Override
public void doHandle(Class clazz)
{

View File

@ -42,9 +42,6 @@ public class MultiPartConfigAnnotationHandler extends AbstractIntrospectableAnno
_context = context;
}
/**
* @see org.eclipse.jetty.annotations.AnnotationIntrospector.AbstractIntrospectableAnnotationHandler#doHandle(java.lang.Class)
*/
@Override
public void doHandle(Class clazz)
{

View File

@ -43,11 +43,6 @@ public class ServletContainerInitializersStarter extends AbstractLifeCycle imple
_context = context;
}
/**
* Call the doStart method of the ServletContainerInitializers
*
* @see org.eclipse.jetty.util.component.AbstractLifeCycle#doStart()
*/
@Override
public void doStart()
{

View File

@ -65,9 +65,6 @@ public class ServletSecurityAnnotationHandler extends AbstractIntrospectableAnno
_context = wac;
}
/**
* @see org.eclipse.jetty.annotations.AnnotationIntrospector.IntrospectableAnnotationHandler#handle(java.lang.Class)
*/
@Override
public void doHandle(Class clazz)
{

View File

@ -54,9 +54,6 @@ public class WebFilterAnnotation extends DiscoveredAnnotation
super(context, className, resource);
}
/**
* @see DiscoveredAnnotation#apply()
*/
@Override
public void apply()
{

View File

@ -54,9 +54,6 @@ public class WebListenerAnnotation extends DiscoveredAnnotation
super(context, className, resource);
}
/**
* @see DiscoveredAnnotation#apply()
*/
@Override
public void apply()
{

View File

@ -57,9 +57,6 @@ public class WebServletAnnotation extends DiscoveredAnnotation
super(context, className, resource);
}
/**
* @see DiscoveredAnnotation#apply()
*/
@Override
public void apply()
{

View File

@ -563,9 +563,6 @@ public class AntWebAppContext extends WebAppContext
}
}
/**
*
*/
@Override
public void doStart()
{

View File

@ -49,9 +49,6 @@ public class JettyStopTask extends Task
TaskLog.setTask(this);
}
/**
* @see org.apache.tools.ant.Task#execute()
*/
@Override
public void execute() throws BuildException
{

View File

@ -254,9 +254,6 @@ public class ServerProxyImpl implements ServerProxy
this.tempDirectory = tempDirectory;
}
/**
* @see org.eclipse.jetty.ant.utils.ServerProxy#start()
*/
@Override
public void start()
{
@ -299,9 +296,6 @@ public class ServerProxyImpl implements ServerProxy
}
}
/**
* @see org.eclipse.jetty.ant.utils.ServerProxy#getProxiedObject()
*/
@Override
public Object getProxiedObject()
{

View File

@ -70,11 +70,6 @@ public interface ConnectionPool extends Closeable
*/
boolean remove(Connection connection);
/**
* Closes this ConnectionPool.
*
* @see #isClosed()
*/
@Override
void close();

View File

@ -228,6 +228,12 @@ public class HttpSenderOverHTTP extends HttpSender
headerBuffer = byteBufferPool.acquire(httpClient.getRequestBufferSize(), useDirectByteBuffers);
break;
}
case HEADER_OVERFLOW:
{
httpClient.getByteBufferPool().release(headerBuffer);
headerBuffer = null;
throw new IllegalArgumentException("Request header too large");
}
case NEED_CHUNK:
{
chunkBuffer = byteBufferPool.acquire(HttpGenerator.CHUNK_SIZE, useDirectByteBuffers);

View File

@ -81,9 +81,6 @@ public class PropertiesConfigurationManager implements ConfigurationManager, Dum
_map.put(name, value);
}
/**
* @see org.eclipse.jetty.deploy.ConfigurationManager#getProperties()
*/
@Override
public Map<String, String> getProperties()
{

View File

@ -78,9 +78,6 @@ public class GCloudSessionDataStoreFactory extends AbstractSessionDataStoreFacto
_namespace = namespace;
}
/**
* @see org.eclipse.jetty.server.session.SessionDataStoreFactory#getSessionDataStore(org.eclipse.jetty.server.session.SessionHandler)
*/
@Override
public SessionDataStore getSessionDataStore(SessionHandler handler) throws Exception
{

View File

@ -171,9 +171,6 @@ public class JettyHttpsExchange extends HttpsExchange implements JettyExchange
return _delegate.toString();
}
/**
* @see com.sun.net.httpserver.HttpsExchange#getSSLSession()
*/
@Override
public SSLSession getSSLSession()
{

View File

@ -28,18 +28,12 @@ import static java.nio.charset.StandardCharsets.ISO_8859_1;
public class Http1FieldPreEncoder implements HttpFieldPreEncoder
{
/**
* @see org.eclipse.jetty.http.HttpFieldPreEncoder#getHttpVersion()
*/
@Override
public HttpVersion getHttpVersion()
{
return HttpVersion.HTTP_1_0;
}
/**
* @see org.eclipse.jetty.http.HttpFieldPreEncoder#getEncodedField(org.eclipse.jetty.http.HttpHeader, java.lang.String, java.lang.String)
*/
@Override
public byte[] getEncodedField(HttpHeader header, String headerString, String value)
{

View File

@ -74,6 +74,7 @@ public class HttpGenerator
NEED_CHUNK, // Need a small chunk buffer of CHUNK_SIZE
NEED_INFO, // Need the request/response metadata info
NEED_HEADER, // Need a buffer to build HTTP headers into
HEADER_OVERFLOW, // The header buffer overflowed
NEED_CHUNK_TRAILER, // Need a large chunk buffer for last chunk and trailers
FLUSH, // The buffers previously generated should be flushed
CONTINUE, // Continue generating the message
@ -250,7 +251,8 @@ public class HttpGenerator
}
catch (BufferOverflowException e)
{
throw new BadMessageException(INTERNAL_SERVER_ERROR_500, "Request header too large", e);
LOG.ignore(e);
return Result.HEADER_OVERFLOW;
}
catch (Exception e)
{
@ -427,7 +429,8 @@ public class HttpGenerator
}
catch (BufferOverflowException e)
{
throw new BadMessageException(INTERNAL_SERVER_ERROR_500, "Response header too large", e);
LOG.ignore(e);
return Result.HEADER_OVERFLOW;
}
catch (Exception e)
{

View File

@ -109,10 +109,6 @@ public class MetaData implements Iterable<HttpField>
return _contentLength;
}
/**
* @return an iterator over the HTTP fields
* @see #getFields()
*/
@Override
public Iterator<HttpField> iterator()
{

View File

@ -26,6 +26,7 @@ import org.junit.jupiter.api.Test;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertTrue;
public class HttpGeneratorClientTest
@ -122,6 +123,42 @@ public class HttpGeneratorClientTest
assertThat(out, Matchers.not(Matchers.containsString("Null:")));
}
@Test
public void testHeaderOverflow() throws Exception
{
HttpGenerator gen = new HttpGenerator();
Info info = new Info("GET", "/index.html");
info.getFields().add("Host", "localhost");
info.getFields().add("Field", "SomeWhatLongValue");
info.setHttpVersion(HttpVersion.HTTP_1_0);
HttpGenerator.Result result = gen.generateRequest(info, null, null, null, true);
assertEquals(HttpGenerator.Result.NEED_HEADER, result);
ByteBuffer header = BufferUtil.allocate(16);
result = gen.generateRequest(info, header, null, null, true);
assertEquals(HttpGenerator.Result.HEADER_OVERFLOW, result);
header = BufferUtil.allocate(2048);
result = gen.generateRequest(info, header, null, null, true);
assertEquals(HttpGenerator.Result.FLUSH, result);
assertEquals(HttpGenerator.State.COMPLETING, gen.getState());
assertFalse(gen.isChunking());
String out = BufferUtil.toString(header);
BufferUtil.clear(header);
result = gen.generateResponse(null, false, null, null, null, false);
assertEquals(HttpGenerator.Result.SHUTDOWN_OUT, result);
assertEquals(HttpGenerator.State.END, gen.getState());
assertFalse(gen.isChunking());
assertEquals(0, gen.getContentPrepared());
assertThat(out, Matchers.containsString("GET /index.html HTTP/1.0"));
assertThat(out, Matchers.not(Matchers.containsString("Content-Length")));
assertThat(out, Matchers.containsString("Field: SomeWhatLongValue"));
}
@Test
public void testPOSTRequestNoContent() throws Exception
{

View File

@ -156,6 +156,12 @@ public class HttpGeneratorServerHTTPTest
header = BufferUtil.allocate(2048);
continue;
case HEADER_OVERFLOW:
if (header.capacity() >= 8192)
throw new BadMessageException(500, "Header too large");
header = BufferUtil.allocate(8192);
continue;
case NEED_CHUNK:
chunk = BufferUtil.allocate(HttpGenerator.CHUNK_SIZE);
continue;

View File

@ -110,6 +110,38 @@ public class HttpGeneratorServerTest
assertThat(response, containsString("\r\n0123456789"));
}
@Test
public void testHeaderOverflow() throws Exception
{
HttpGenerator gen = new HttpGenerator();
MetaData.Response info = new MetaData.Response(HttpVersion.HTTP_1_1, 302, null, new HttpFields(), 0);
info.getFields().add("Location", "http://somewhere/else");
HttpGenerator.Result result = gen.generateResponse(info, false, null, null, null, true);
assertEquals(HttpGenerator.Result.NEED_HEADER, result);
ByteBuffer header = BufferUtil.allocate(16);
result = gen.generateResponse(info, false, header, null, null, true);
assertEquals(HttpGenerator.Result.HEADER_OVERFLOW, result);
header = BufferUtil.allocate(8096);
result = gen.generateResponse(info, false, header, null, null, true);
assertEquals(HttpGenerator.Result.FLUSH, result);
assertEquals(HttpGenerator.State.COMPLETING, gen.getState());
String response = BufferUtil.toString(header);
BufferUtil.clear(header);
result = gen.generateResponse(null, false, null, null, null, false);
assertEquals(HttpGenerator.Result.DONE, result);
assertEquals(HttpGenerator.State.END, gen.getState());
assertEquals(0, gen.getContentPrepared());
assertThat(response, containsString("HTTP/1.1 302 Found"));
assertThat(response, containsString("Location: http://somewhere/else"));
}
@Test
public void test204() throws Exception
{

View File

@ -31,18 +31,12 @@ import org.eclipse.jetty.util.BufferUtil;
public class HpackFieldPreEncoder implements HttpFieldPreEncoder
{
/**
* @see org.eclipse.jetty.http.HttpFieldPreEncoder#getHttpVersion()
*/
@Override
public HttpVersion getHttpVersion()
{
return HttpVersion.HTTP_2;
}
/**
* @see org.eclipse.jetty.http.HttpFieldPreEncoder#getEncodedField(org.eclipse.jetty.http.HttpHeader, java.lang.String, java.lang.String)
*/
@Override
public byte[] getEncodedField(HttpHeader header, String name, String value)
{

View File

@ -82,9 +82,6 @@ public class InfinispanSessionDataStore extends AbstractSessionDataStore
_queryManager = queryManager;
}
/**
* @see org.eclipse.jetty.server.session.SessionDataStore#load(String)
*/
@Override
protected void doStart() throws Exception
{

View File

@ -49,9 +49,6 @@ public class InfinispanSessionDataStoreFactory extends AbstractSessionDataStoreF
_infinispanIdleTimeoutSec = infinispanIdleTimeoutSec;
}
/**
* @see org.eclipse.jetty.server.session.SessionDataStoreFactory#getSessionDataStore(org.eclipse.jetty.server.session.SessionHandler)
*/
@Override
public SessionDataStore getSessionDataStore(SessionHandler handler) throws Exception
{

View File

@ -355,9 +355,6 @@ public class ByteArrayEndPoint extends AbstractEndPoint
return getOutput().position() > 0;
}
/*
* @see org.eclipse.io.EndPoint#fill(org.eclipse.io.Buffer)
*/
@Override
public int fill(ByteBuffer buffer) throws IOException
{
@ -400,9 +397,6 @@ public class ByteArrayEndPoint extends AbstractEndPoint
return filled;
}
/*
* @see org.eclipse.io.EndPoint#flush(org.eclipse.io.Buffer, org.eclipse.io.Buffer, org.eclipse.io.Buffer)
*/
@Override
public boolean flush(ByteBuffer... buffers) throws IOException
{
@ -450,9 +444,6 @@ public class ByteArrayEndPoint extends AbstractEndPoint
return flushed;
}
/**
*
*/
@Override
public void reset()
{
@ -465,9 +456,6 @@ public class ByteArrayEndPoint extends AbstractEndPoint
super.reset();
}
/*
* @see org.eclipse.io.EndPoint#getConnection()
*/
@Override
public Object getTransport()
{

View File

@ -179,10 +179,6 @@ public abstract class AbstractLoginModule implements LoginModule
this.commitState = commitState;
}
/**
* @throws LoginException if unable to abort
* @see javax.security.auth.spi.LoginModule#abort()
*/
@Override
public boolean abort() throws LoginException
{

View File

@ -94,9 +94,6 @@ public class JaspiAuthenticator extends LoginAuthenticator
return "JASPI";
}
/**
* @see org.eclipse.jetty.security.authentication.LoginAuthenticator#login(java.lang.String, java.lang.Object, javax.servlet.ServletRequest)
*/
@Override
public UserIdentity login(String username, Object password, ServletRequest request)
{

View File

@ -69,18 +69,12 @@ public class JaspiTest
_roles.put(username, roles);
}
/**
* @see org.eclipse.jetty.security.AbstractLoginService#loadRoleInfo(org.eclipse.jetty.security.AbstractLoginService.UserPrincipal)
*/
@Override
protected String[] loadRoleInfo(UserPrincipal user)
{
return _roles.get(user.getName());
}
/**
* @see org.eclipse.jetty.security.AbstractLoginService#loadUserInfo(java.lang.String)
*/
@Override
protected UserPrincipal loadUserInfo(String username)
{

View File

@ -98,44 +98,29 @@ public class localContextRoot implements Context
_env = new Hashtable(env);
}
/**
* @see javax.naming.Context#close()
*/
@Override
public void close() throws NamingException
{
}
/**
* @see javax.naming.Context#getNameInNamespace()
*/
@Override
public String getNameInNamespace() throws NamingException
{
return "";
}
/**
* @see javax.naming.Context#destroySubcontext(javax.naming.Name)
*/
@Override
public void destroySubcontext(Name name) throws NamingException
{
__root.destroySubcontext(getSuffix(name));
}
/**
* @see javax.naming.Context#destroySubcontext(java.lang.String)
*/
@Override
public void destroySubcontext(String name) throws NamingException
{
destroySubcontext(__root.getNameParser("").parse(getSuffix(name)));
}
/**
* @see javax.naming.Context#getEnvironment()
*/
@Override
public Hashtable getEnvironment() throws NamingException
{
@ -186,9 +171,6 @@ public class localContextRoot implements Context
return (Context)ctx;
}
/**
* @see javax.naming.Context#unbind(javax.naming.Name)
*/
@Override
public void unbind(Name name) throws NamingException
{
@ -219,27 +201,18 @@ public class localContextRoot implements Context
}
}
/**
* @see javax.naming.Context#unbind(java.lang.String)
*/
@Override
public void unbind(String name) throws NamingException
{
unbind(__root.getNameParser("").parse(getSuffix(name)));
}
/**
* @see javax.naming.Context#lookupLink(java.lang.String)
*/
@Override
public Object lookupLink(String name) throws NamingException
{
return lookupLink(__root.getNameParser("").parse(getSuffix(name)));
}
/**
* @see javax.naming.Context#lookupLink(javax.naming.Name)
*/
@Override
public Object lookupLink(Name name) throws NamingException
{
@ -292,18 +265,12 @@ public class localContextRoot implements Context
return getContext(cname).lookup(cname.getSuffix(1));
}
/**
* @see javax.naming.Context#removeFromEnvironment(java.lang.String)
*/
@Override
public Object removeFromEnvironment(String propName) throws NamingException
{
return _env.remove(propName);
}
/**
* @see javax.naming.Context#lookup(javax.naming.Name)
*/
@Override
public Object lookup(Name name) throws NamingException
{
@ -370,27 +337,18 @@ public class localContextRoot implements Context
return getContext(cname).lookup(cname.getSuffix(1));
}
/**
* @see javax.naming.Context#lookup(java.lang.String)
*/
@Override
public Object lookup(String name) throws NamingException
{
return lookup(__root.getNameParser("").parse(getSuffix(name)));
}
/**
* @see javax.naming.Context#bind(java.lang.String, java.lang.Object)
*/
@Override
public void bind(String name, Object obj) throws NamingException
{
bind(__root.getNameParser("").parse(getSuffix(name)), obj);
}
/**
* @see javax.naming.Context#bind(javax.naming.Name, java.lang.Object)
*/
@Override
public void bind(Name name, Object obj) throws NamingException
{
@ -428,9 +386,6 @@ public class localContextRoot implements Context
}
}
/**
* @see javax.naming.Context#rebind(javax.naming.Name, java.lang.Object)
*/
@Override
public void rebind(Name name, Object obj) throws NamingException
{
@ -468,36 +423,24 @@ public class localContextRoot implements Context
}
}
/**
* @see javax.naming.Context#rebind(java.lang.String, java.lang.Object)
*/
@Override
public void rebind(String name, Object obj) throws NamingException
{
rebind(__root.getNameParser("").parse(getSuffix(name)), obj);
}
/**
* @see javax.naming.Context#rename(javax.naming.Name, javax.naming.Name)
*/
@Override
public void rename(Name oldName, Name newName) throws NamingException
{
throw new OperationNotSupportedException();
}
/**
* @see javax.naming.Context#rename(java.lang.String, java.lang.String)
*/
@Override
public void rename(String oldName, String newName) throws NamingException
{
throw new OperationNotSupportedException();
}
/**
* @see javax.naming.Context#createSubcontext(java.lang.String)
*/
@Override
public Context createSubcontext(String name) throws NamingException
{
@ -512,9 +455,6 @@ public class localContextRoot implements Context
return createSubcontext(__root.getNameParser("").parse(name));
}
/**
* @see javax.naming.Context#createSubcontext(javax.naming.Name)
*/
@Override
public Context createSubcontext(Name name) throws NamingException
{
@ -557,64 +497,42 @@ public class localContextRoot implements Context
return getContext(cname).createSubcontext(cname.getSuffix(1));
}
/**
* @see javax.naming.Context#getNameParser(java.lang.String)
*/
@Override
public NameParser getNameParser(String name) throws NamingException
{
return __root.getNameParser(name);
}
/**
* @see javax.naming.Context#getNameParser(javax.naming.Name)
*/
@Override
public NameParser getNameParser(Name name) throws NamingException
{
return __root.getNameParser(name);
}
/**
* @see javax.naming.Context#list(java.lang.String)
*/
@Override
public NamingEnumeration list(String name) throws NamingException
{
return __root.list(name);
}
/**
* @see javax.naming.Context#list(javax.naming.Name)
*/
@Override
public NamingEnumeration list(Name name) throws NamingException
{
return __root.list(name);
}
/**
* @see javax.naming.Context#listBindings(javax.naming.Name)
*/
@Override
public NamingEnumeration listBindings(Name name) throws NamingException
{
return __root.listBindings(name);
}
/**
* @see javax.naming.Context#listBindings(java.lang.String)
*/
@Override
public NamingEnumeration listBindings(String name) throws NamingException
{
return __root.listBindings(name);
}
/**
* @see javax.naming.Context#addToEnvironment(java.lang.String,
* java.lang.Object)
*/
@Override
public Object addToEnvironment(String propName, Object propVal)
throws NamingException
@ -622,9 +540,6 @@ public class localContextRoot implements Context
return _env.put(propName, propVal);
}
/**
* @see javax.naming.Context#composeName(java.lang.String, java.lang.String)
*/
@Override
public String composeName(String name, String prefix)
throws NamingException
@ -632,10 +547,6 @@ public class localContextRoot implements Context
return __root.composeName(name, prefix);
}
/**
* @see javax.naming.Context#composeName(javax.naming.Name,
* javax.naming.Name)
*/
@Override
public Name composeName(Name name, Name prefix) throws NamingException
{

View File

@ -165,9 +165,6 @@ public class JettyDistroForker extends AbstractForker
this.baseDir = baseDir;
}
/**
* @see org.eclipse.jetty.maven.plugin.AbstractForker#createCommand()
*/
@Override
protected ProcessBuilder createCommand()
{
@ -324,9 +321,6 @@ public class JettyDistroForker extends AbstractForker
return FileVisitResult.CONTINUE;
}
/**
* @see java.nio.file.SimpleFileVisitor#visitFile(java.lang.Object, java.nio.file.attribute.BasicFileAttributes)
*/
@Override
public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException
{

View File

@ -83,9 +83,6 @@ public class MemcachedSessionDataMapFactory implements SessionDataMapFactory
_heartbeats = heartbeats;
}
/**
* @see org.eclipse.jetty.server.session.SessionDataMapFactory#getSessionDataMap()
*/
@Override
public SessionDataMap getSessionDataMap()
{

View File

@ -194,9 +194,6 @@ public class AnnotationConfiguration extends org.eclipse.jetty.annotations.Annot
parseBundle(context, parser, webbundle, webbundle);
}
/**
* @see org.eclipse.jetty.annotations.AnnotationConfiguration#parseWebInfClasses(org.eclipse.jetty.webapp.WebAppContext, org.eclipse.jetty.annotations.AnnotationParser)
*/
@Override
public void parseWebInfClasses(WebAppContext context, org.eclipse.jetty.annotations.AnnotationParser parser)
throws Exception

View File

@ -208,9 +208,6 @@ public abstract class AbstractContextProvider extends AbstractLifeCycle implemen
return _serverWrapper;
}
/**
* @see org.eclipse.jetty.deploy.AppProvider#createContextHandler(org.eclipse.jetty.deploy.App)
*/
@Override
public ContextHandler createContextHandler(App app) throws Exception
{

View File

@ -530,9 +530,6 @@ public abstract class AbstractWebAppProvider extends AbstractLifeCycle implement
return _deploymentManager;
}
/**
* @see org.eclipse.jetty.deploy.AppProvider#setDeploymentManager(org.eclipse.jetty.deploy.DeploymentManager)
*/
@Override
public void setDeploymentManager(DeploymentManager deploymentManager)
{

View File

@ -64,9 +64,6 @@ public class BundleContextProvider extends AbstractContextProvider implements Bu
_managedServerName = managedServerName;
}
/**
* @see org.osgi.util.tracker.BundleTracker#addingBundle(org.osgi.framework.Bundle, org.osgi.framework.BundleEvent)
*/
@Override
public Object addingBundle(Bundle bundle, BundleEvent event)
{
@ -87,9 +84,6 @@ public class BundleContextProvider extends AbstractContextProvider implements Bu
return null;
}
/**
* @see org.osgi.util.tracker.BundleTracker#removedBundle(org.osgi.framework.Bundle, org.osgi.framework.BundleEvent, java.lang.Object)
*/
@Override
public void removedBundle(Bundle bundle, BundleEvent event, Object object)
{

View File

@ -64,9 +64,6 @@ public class BundleWebAppProvider extends AbstractWebAppProvider implements Bund
_managedServerName = managedServerName;
}
/**
* @see org.osgi.util.tracker.BundleTracker#addingBundle(org.osgi.framework.Bundle, org.osgi.framework.BundleEvent)
*/
@Override
public Object addingBundle(Bundle bundle, BundleEvent event)
{
@ -87,9 +84,6 @@ public class BundleWebAppProvider extends AbstractWebAppProvider implements Bund
return null;
}
/**
* @see org.osgi.util.tracker.BundleTracker#removedBundle(org.osgi.framework.Bundle, org.osgi.framework.BundleEvent, java.lang.Object)
*/
@Override
public void removedBundle(Bundle bundle, BundleEvent event, Object object)
{
@ -109,9 +103,6 @@ public class BundleWebAppProvider extends AbstractWebAppProvider implements Bund
super(wrapper);
}
/**
* @see org.eclipse.jetty.util.component.AbstractLifeCycle#doStart()
*/
@Override
protected void doStart() throws Exception
{
@ -124,9 +115,6 @@ public class BundleWebAppProvider extends AbstractWebAppProvider implements Bund
super.doStart();
}
/**
* @see org.eclipse.jetty.util.component.AbstractLifeCycle#doStop()
*/
@Override
protected void doStop() throws Exception
{

View File

@ -66,9 +66,6 @@ public class ServiceContextProvider extends AbstractContextProvider implements S
super(bundleContext, filter, null);
}
/**
* @see org.osgi.util.tracker.ServiceTracker#addingService(org.osgi.framework.ServiceReference)
*/
@Override
public Object addingService(ServiceReference reference)
{
@ -77,9 +74,6 @@ public class ServiceContextProvider extends AbstractContextProvider implements S
return h;
}
/**
* @see org.osgi.util.tracker.ServiceTracker#modifiedService(org.osgi.framework.ServiceReference, java.lang.Object)
*/
@Override
public void modifiedService(ServiceReference reference, Object service)
{
@ -87,9 +81,6 @@ public class ServiceContextProvider extends AbstractContextProvider implements S
addingService(reference);
}
/**
* @see org.osgi.util.tracker.ServiceTracker#removedService(org.osgi.framework.ServiceReference, java.lang.Object)
*/
@Override
public void removedService(ServiceReference reference, Object service)
{

View File

@ -72,9 +72,6 @@ public class ServiceWebAppProvider extends AbstractWebAppProvider implements Ser
super(bundleContext, filter, null);
}
/**
* @see org.osgi.util.tracker.ServiceTracker#addingService(org.osgi.framework.ServiceReference)
*/
@Override
public Object addingService(ServiceReference reference)
{
@ -83,9 +80,6 @@ public class ServiceWebAppProvider extends AbstractWebAppProvider implements Ser
return wac;
}
/**
* @see org.osgi.util.tracker.ServiceTracker#modifiedService(org.osgi.framework.ServiceReference, java.lang.Object)
*/
@Override
public void modifiedService(ServiceReference reference, Object service)
{
@ -93,9 +87,6 @@ public class ServiceWebAppProvider extends AbstractWebAppProvider implements Ser
addingService(reference);
}
/**
* @see org.osgi.util.tracker.ServiceTracker#removedService(org.osgi.framework.ServiceReference, java.lang.Object)
*/
@Override
public void removedService(ServiceReference reference, Object service)
{
@ -229,9 +220,6 @@ public class ServiceWebAppProvider extends AbstractWebAppProvider implements Ser
return false;
}
/**
* @see org.eclipse.jetty.util.component.AbstractLifeCycle#doStart()
*/
@Override
protected void doStart() throws Exception
{
@ -251,9 +239,6 @@ public class ServiceWebAppProvider extends AbstractWebAppProvider implements Ser
super.doStart();
}
/**
* @see org.eclipse.jetty.util.component.AbstractLifeCycle#doStop()
*/
@Override
protected void doStop() throws Exception
{

View File

@ -39,9 +39,6 @@ public class JettyServerServiceTracker implements ServiceTrackerCustomizer
{
private static Logger LOG = Log.getLogger(JettyServerServiceTracker.class.getName());
/**
* @see org.osgi.util.tracker.ServiceTrackerCustomizer#addingService(org.osgi.framework.ServiceReference)
*/
@Override
public Object addingService(ServiceReference sr)
{
@ -73,9 +70,6 @@ public class JettyServerServiceTracker implements ServiceTrackerCustomizer
}
}
/**
* @see org.osgi.util.tracker.ServiceTrackerCustomizer#modifiedService(org.osgi.framework.ServiceReference, java.lang.Object)
*/
@Override
public void modifiedService(ServiceReference reference, Object service)
{
@ -83,9 +77,6 @@ public class JettyServerServiceTracker implements ServiceTrackerCustomizer
addingService(reference);
}
/**
* @see org.osgi.util.tracker.ServiceTrackerCustomizer#removedService(org.osgi.framework.ServiceReference, java.lang.Object)
*/
@Override
public void removedService(ServiceReference reference, Object service)
{

View File

@ -52,9 +52,6 @@ public class FakeURLClassLoader extends URLClassLoader
return _jars;
}
/**
* @see java.lang.Object#toString()
*/
@Override
public String toString()
{

View File

@ -38,9 +38,6 @@ public class ServerConnectorListener extends AbstractLifeCycleListener
private Path _filePath;
private String _sysPropertyName;
/**
* @see org.eclipse.jetty.util.component.AbstractLifeCycle.AbstractLifeCycleListener#lifeCycleStarted(org.eclipse.jetty.util.component.LifeCycle)
*/
@Override
public void lifeCycleStarted(LifeCycle event)
{

View File

@ -49,9 +49,6 @@ public class Activator implements BundleActivator
server.getConnectors()[0].addEventListener(new AbstractLifeCycleListener()
{
/**
* @see org.eclipse.jetty.util.component.AbstractLifeCycle.AbstractLifeCycleListener#lifeCycleStarted(org.eclipse.jetty.util.component.LifeCycle)
*/
@Override
public void lifeCycleStarted(LifeCycle event)
{

View File

@ -45,9 +45,6 @@ public class Activator implements BundleActivator
public static class TestServlet extends HttpServlet
{
/**
* @see javax.servlet.http.HttpServlet#doGet(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
*/
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
{

View File

@ -147,16 +147,17 @@ public class TestOSGiUtil
res.add(mavenBundle().groupId("org.eclipse.jetty").artifactId("jetty-plus").versionAsInProject().start());
res.add(mavenBundle().groupId("org.eclipse.jetty").artifactId("jetty-annotations").versionAsInProject().start());
res.add(mavenBundle().groupId("org.eclipse.jetty.websocket").artifactId("websocket-core").versionAsInProject().start());
res.add(mavenBundle().groupId("org.eclipse.jetty.websocket").artifactId("websocket-jetty-api").versionAsInProject().start());
res.add(mavenBundle().groupId("org.eclipse.jetty.websocket").artifactId("websocket-jetty-common").versionAsInProject().start());
res.add(mavenBundle().groupId("org.eclipse.jetty.websocket").artifactId("websocket-servlet").versionAsInProject().start());
res.add(mavenBundle().groupId("org.eclipse.jetty.websocket").artifactId("websocket-util").versionAsInProject().start());
res.add(mavenBundle().groupId("org.eclipse.jetty.websocket").artifactId("websocket-jetty-api").versionAsInProject().start());
res.add(mavenBundle().groupId("org.eclipse.jetty.websocket").artifactId("websocket-jetty-server").versionAsInProject().start());
res.add(mavenBundle().groupId("org.eclipse.jetty.websocket").artifactId("websocket-jetty-client").versionAsInProject().start());
res.add(mavenBundle().groupId("org.eclipse.jetty.websocket").artifactId("websocket-javax-common").versionAsInProject().noStart());
res.add(mavenBundle().groupId("org.eclipse.jetty.websocket").artifactId("websocket-javax-client").versionAsInProject().noStart());
res.add(mavenBundle().groupId("org.eclipse.jetty.websocket").artifactId("websocket-javax-server").versionAsInProject().noStart());
res.add(mavenBundle().groupId("org.eclipse.jetty.websocket").artifactId("websocket-jetty-common").versionAsInProject().start());
res.add(mavenBundle().groupId("org.eclipse.jetty.toolchain").artifactId("jetty-javax-websocket-api").versionAsInProject().noStart());
res.add(mavenBundle().groupId("org.eclipse.jetty.websocket").artifactId("websocket-javax-server").versionAsInProject().noStart());
res.add(mavenBundle().groupId("org.eclipse.jetty.websocket").artifactId("websocket-javax-client").versionAsInProject().noStart());
res.add(mavenBundle().groupId("org.eclipse.jetty.websocket").artifactId("websocket-javax-common").versionAsInProject().noStart());
res.add(mavenBundle().groupId("org.eclipse.jetty.osgi").artifactId("jetty-osgi-boot").versionAsInProject().start());
return res;
}

View File

@ -69,9 +69,6 @@ public class PlusDescriptorProcessor extends IterativeDescriptorProcessor
}
}
/**
* @see org.eclipse.jetty.webapp.IterativeDescriptorProcessor#start(WebAppContext, org.eclipse.jetty.webapp.Descriptor)
*/
@Override
public void start(WebAppContext context, Descriptor descriptor)
{
@ -98,9 +95,6 @@ public class PlusDescriptorProcessor extends IterativeDescriptorProcessor
}
}
/**
* {@inheritDoc}
*/
@Override
public void end(WebAppContext context, Descriptor descriptor)
{

View File

@ -65,18 +65,12 @@ public class QuickStartDescriptorProcessor extends IterativeDescriptorProcessor
}
}
/**
* @see org.eclipse.jetty.webapp.IterativeDescriptorProcessor#start(org.eclipse.jetty.webapp.WebAppContext, org.eclipse.jetty.webapp.Descriptor)
*/
@Override
public void start(WebAppContext context, Descriptor descriptor)
{
_originAttributeName = context.getInitParameter(QuickStartGeneratorConfiguration.ORIGIN);
}
/**
* @see org.eclipse.jetty.webapp.IterativeDescriptorProcessor#end(org.eclipse.jetty.webapp.WebAppContext, org.eclipse.jetty.webapp.Descriptor)
*/
@Override
public void end(WebAppContext context, Descriptor descriptor)
{

View File

@ -27,9 +27,6 @@ import javax.servlet.http.HttpServletResponse;
public class FooServlet extends HttpServlet
{
/**
* @see javax.servlet.http.HttpServlet#doGet(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
*/
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
{

View File

@ -70,10 +70,6 @@ public class CookiePatternRule extends PatternRule
_value = value;
}
/*
* (non-Javadoc)
* @see org.eclipse.jetty.server.server.handler.rules.RuleBase#apply(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
*/
@Override
public String apply(String target, HttpServletRequest request, HttpServletResponse response) throws IOException
{

View File

@ -57,9 +57,6 @@ public abstract class PatternRule extends Rule
_pattern = pattern;
}
/* (non-Javadoc)
* @see org.eclipse.jetty.server.server.handler.rules.RuleBase#matchAndApply(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
*/
@Override
public String matchAndApply(String target, HttpServletRequest request, HttpServletResponse response) throws IOException
{

View File

@ -68,10 +68,6 @@ public class ResponsePatternRule extends PatternRule
_message = message;
}
/*
* (non-Javadoc)
* @see org.eclipse.jetty.server.server.handler.rules.RuleBase#apply(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
*/
@Override
public String apply(String target, HttpServletRequest request, HttpServletResponse response) throws IOException
{

View File

@ -293,9 +293,6 @@ public class RewriteHandler extends HandlerWrapper
_dispatchTypes = EnumSet.copyOf(Arrays.asList(types));
}
/* (non-Javadoc)
* @see org.eclipse.jetty.server.handler.HandlerWrapper#handle(java.lang.String, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, int)
*/
@Override
public void handle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
{

View File

@ -75,9 +75,6 @@ public class RewriteRegexRule extends RegexRule implements Rule.ApplyURI
}
}
/* (non-Javadoc)
* @see org.eclipse.jetty.server.handler.rules.RegexRule#apply(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, java.util.regex.Matcher)
*/
@Override
public String apply(String target, HttpServletRequest request, HttpServletResponse response, Matcher matcher) throws IOException
{

View File

@ -107,9 +107,6 @@ public abstract class AbstractLoginService extends ContainerLifeCycle implements
addBean(_identityService);
}
/**
* @see org.eclipse.jetty.security.LoginService#getName()
*/
@Override
public String getName()
{
@ -148,9 +145,6 @@ public abstract class AbstractLoginService extends ContainerLifeCycle implements
return String.format("%s@%x[%s]", this.getClass().getSimpleName(), hashCode(), _name);
}
/**
* @see org.eclipse.jetty.security.LoginService#login(java.lang.String, java.lang.Object, javax.servlet.ServletRequest)
*/
@Override
public UserIdentity login(String username, Object credentials, ServletRequest request)
{
@ -178,9 +172,6 @@ public abstract class AbstractLoginService extends ContainerLifeCycle implements
return null;
}
/**
* @see org.eclipse.jetty.security.LoginService#validate(org.eclipse.jetty.server.UserIdentity)
*/
@Override
public boolean validate(UserIdentity user)
{
@ -200,18 +191,12 @@ public abstract class AbstractLoginService extends ContainerLifeCycle implements
throw new IllegalStateException("UserPrincipal not KnownUser"); //can't validate
}
/**
* @see org.eclipse.jetty.security.LoginService#getIdentityService()
*/
@Override
public IdentityService getIdentityService()
{
return _identityService;
}
/**
* @see org.eclipse.jetty.security.LoginService#logout(org.eclipse.jetty.server.UserIdentity)
*/
@Override
public void logout(UserIdentity user)
{

View File

@ -352,9 +352,6 @@ public class ConstraintSecurityHandler extends SecurityHandler implements Constr
_roles.addAll(roles);
}
/**
* @see org.eclipse.jetty.security.ConstraintAware#addConstraintMapping(org.eclipse.jetty.security.ConstraintMapping)
*/
@Override
public void addConstraintMapping(ConstraintMapping mapping)
{
@ -377,9 +374,6 @@ public class ConstraintSecurityHandler extends SecurityHandler implements Constr
}
}
/**
* @see org.eclipse.jetty.security.ConstraintAware#addRole(java.lang.String)
*/
@Override
public void addRole(String role)
{
@ -399,9 +393,6 @@ public class ConstraintSecurityHandler extends SecurityHandler implements Constr
}
}
/**
* @see org.eclipse.jetty.security.SecurityHandler#doStart()
*/
@Override
protected void doStart() throws Exception
{
@ -677,9 +668,6 @@ public class ConstraintSecurityHandler extends SecurityHandler implements Constr
return constraintInfo != null && ((RoleInfo)constraintInfo).isChecked();
}
/**
* @see org.eclipse.jetty.security.SecurityHandler#checkWebResourcePermissions(java.lang.String, org.eclipse.jetty.server.Request, org.eclipse.jetty.server.Response, java.lang.Object, org.eclipse.jetty.server.UserIdentity)
*/
@Override
protected boolean checkWebResourcePermissions(String pathInContext, Request request, Response response, Object constraintInfo, UserIdentity userIdentity)
throws IOException
@ -735,9 +723,6 @@ public class ConstraintSecurityHandler extends SecurityHandler implements Constr
DumpableCollection.from("constraints", _constraintMappings));
}
/**
* @see org.eclipse.jetty.security.ConstraintAware#setDenyUncoveredHttpMethods(boolean)
*/
@Override
public void setDenyUncoveredHttpMethods(boolean deny)
{

View File

@ -150,9 +150,6 @@ public class HashLoginService extends AbstractLoginService
return null;
}
/**
* @see org.eclipse.jetty.util.component.AbstractLifeCycle#doStart()
*/
@Override
protected void doStart() throws Exception
{
@ -191,9 +188,6 @@ public class HashLoginService extends AbstractLoginService
return _userStoreAutoCreate;
}
/**
* @see org.eclipse.jetty.util.component.AbstractLifeCycle#doStop()
*/
@Override
protected void doStop() throws Exception
{

View File

@ -262,9 +262,6 @@ public class JDBCLoginService extends AbstractLoginService
return null;
}
/**
* @see org.eclipse.jetty.util.component.AbstractLifeCycle#doStop()
*/
@Override
protected void doStop() throws Exception
{

View File

@ -444,9 +444,6 @@ public abstract class SecurityHandler extends HandlerWrapper implements Authenti
}
}
/**
* @see org.eclipse.jetty.security.Authenticator.AuthConfiguration#isSessionRenewedOnAuthentication()
*/
@Override
public boolean isSessionRenewedOnAuthentication()
{

View File

@ -44,18 +44,12 @@ public class BasicAuthenticator extends LoginAuthenticator
{
}
/**
* @see org.eclipse.jetty.security.Authenticator#getAuthMethod()
*/
@Override
public String getAuthMethod()
{
return Constraint.__BASIC_AUTH;
}
/**
* @see org.eclipse.jetty.security.Authenticator#validateRequest(javax.servlet.ServletRequest, javax.servlet.ServletResponse, boolean)
*/
@Override
public Authentication validateRequest(ServletRequest req, ServletResponse res, boolean mandatory) throws ServerAuthException
{

View File

@ -55,9 +55,6 @@ public class DeferredAuthentication implements Authentication.Deferred
this._authenticator = authenticator;
}
/**
* @see org.eclipse.jetty.server.Authentication.Deferred#authenticate(ServletRequest)
*/
@Override
public Authentication authenticate(ServletRequest request)
{
@ -83,9 +80,6 @@ public class DeferredAuthentication implements Authentication.Deferred
return this;
}
/**
* @see org.eclipse.jetty.server.Authentication.Deferred#authenticate(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
*/
@Override
public Authentication authenticate(ServletRequest request, ServletResponse response)
{
@ -106,9 +100,6 @@ public class DeferredAuthentication implements Authentication.Deferred
return this;
}
/**
* @see org.eclipse.jetty.server.Authentication.Deferred#login(String, Object, ServletRequest)
*/
@Override
public Authentication login(String username, Object password, ServletRequest request)
{

View File

@ -117,9 +117,6 @@ public class FormAuthenticator extends LoginAuthenticator
return _alwaysSaveUri;
}
/**
* @see org.eclipse.jetty.security.authentication.LoginAuthenticator#setConfiguration(org.eclipse.jetty.security.Authenticator.AuthConfiguration)
*/
@Override
public void setConfiguration(AuthConfiguration configuration)
{

View File

@ -1747,9 +1747,6 @@ public class ConstraintTest
private class RoleRefHandler extends HandlerWrapper
{
/**
* @see org.eclipse.jetty.server.handler.HandlerWrapper#handle(java.lang.String, Request, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
*/
@Override
public void handle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
{

View File

@ -43,9 +43,6 @@ public class TestLoginService extends AbstractLoginService
userStore.addUser(username, credential, roles);
}
/**
* @see org.eclipse.jetty.security.AbstractLoginService#loadRoleInfo(org.eclipse.jetty.security.AbstractLoginService.UserPrincipal)
*/
@Override
protected String[] loadRoleInfo(UserPrincipal user)
{
@ -63,9 +60,6 @@ public class TestLoginService extends AbstractLoginService
return list.toArray(new String[roles.size()]);
}
/**
* @see org.eclipse.jetty.security.AbstractLoginService#loadUserInfo(java.lang.String)
*/
@Override
protected UserPrincipal loadUserInfo(String username)
{

View File

@ -20,6 +20,7 @@ package org.eclipse.jetty.server;
import java.util.Arrays;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import org.eclipse.jetty.io.AbstractConnection;
@ -76,6 +77,26 @@ public abstract class AbstractConnectionFactory extends ContainerLifeCycle imple
_inputbufferSize = size;
}
protected String findNextProtocol(Connector connector)
{
return findNextProtocol(connector, getProtocol());
}
protected static String findNextProtocol(Connector connector, String currentProtocol)
{
String nextProtocol = null;
for (Iterator<String> it = connector.getProtocols().iterator(); it.hasNext(); )
{
String protocol = it.next();
if (currentProtocol.equalsIgnoreCase(protocol))
{
nextProtocol = it.hasNext() ? it.next() : null;
break;
}
}
return nextProtocol;
}
protected AbstractConnection configure(AbstractConnection connection, Connector connector, EndPoint endPoint)
{
connection.setInputBufferSize(getInputBufferSize());

View File

@ -34,6 +34,7 @@ import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.Executor;
import java.util.concurrent.locks.Condition;
import java.util.stream.Collectors;
import org.eclipse.jetty.io.ArrayByteBufferPool;
import org.eclipse.jetty.io.ByteBufferPool;
@ -801,6 +802,6 @@ public abstract class AbstractConnector extends ContainerLifeCycle implements Co
return String.format("%s@%x{%s, %s}",
_name == null ? getClass().getSimpleName() : _name,
hashCode(),
getDefaultProtocol(), getProtocols());
getDefaultProtocol(), getProtocols().stream().collect(Collectors.joining(", ", "(", ")")));
}
}

View File

@ -18,6 +18,7 @@
package org.eclipse.jetty.server;
import java.nio.ByteBuffer;
import java.util.List;
import org.eclipse.jetty.http.BadMessageException;
@ -85,4 +86,43 @@ public interface ConnectionFactory
*/
public Connection upgradeConnection(Connector connector, EndPoint endPoint, MetaData.Request upgradeRequest, HttpFields responseFields) throws BadMessageException;
}
/**
* <p>Connections created by this factory MUST implement {@link Connection.UpgradeTo}.</p>
*/
interface Detecting extends ConnectionFactory
{
/**
* The possible outcomes of the {@link #detect(ByteBuffer)} method.
*/
enum Detection
{
/**
* A {@link Detecting} can work with the given bytes.
*/
RECOGNIZED,
/**
* A {@link Detecting} cannot work with the given bytes.
*/
NOT_RECOGNIZED,
/**
* A {@link Detecting} requires more bytes to make a decision.
*/
NEED_MORE_BYTES
}
/**
* <p>Check the bytes in the given {@code buffer} to figure out if this {@link Detecting} instance
* can work with them or not.</p>
* <p>The {@code buffer} MUST be left untouched by this method: bytes MUST NOT be consumed and MUST NOT be modified.</p>
* @param buffer the buffer.
* @return One of:
* <ul>
* <li>{@link Detection#RECOGNIZED} if this {@link Detecting} instance can work with the bytes in the buffer</li>
* <li>{@link Detection#NOT_RECOGNIZED} if this {@link Detecting} instance cannot work with the bytes in the buffer</li>
* <li>{@link Detection#NEED_MORE_BYTES} if this {@link Detecting} instance requires more bytes to make a decision</li>
* </ul>
*/
Detection detect(ByteBuffer buffer);
}
}

View File

@ -0,0 +1,301 @@
//
// ========================================================================
// Copyright (c) 1995-2020 Mort Bay Consulting Pty Ltd and others.
//
// This program and the accompanying materials are made available under
// the terms of the Eclipse Public License 2.0 which is available at
// https://www.eclipse.org/legal/epl-2.0
//
// This Source Code may also be made available under the following
// Secondary Licenses when the conditions for such availability set
// forth in the Eclipse Public License, v. 2.0 are satisfied:
// the Apache License v2.0 which is available at
// https://www.apache.org/licenses/LICENSE-2.0
//
// SPDX-License-Identifier: EPL-2.0 OR Apache-2.0
// ========================================================================
//
package org.eclipse.jetty.server;
import java.nio.ByteBuffer;
import java.util.Arrays;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.stream.Collectors;
import org.eclipse.jetty.io.AbstractConnection;
import org.eclipse.jetty.io.Connection;
import org.eclipse.jetty.io.EndPoint;
import org.eclipse.jetty.util.BufferUtil;
import org.eclipse.jetty.util.log.Log;
import org.eclipse.jetty.util.log.Logger;
/**
* A {@link ConnectionFactory} combining multiple {@link Detecting} instances that will upgrade to
* the first one recognizing the bytes in the buffer.
*/
public class DetectorConnectionFactory extends AbstractConnectionFactory implements ConnectionFactory.Detecting
{
private static final Logger LOG = Log.getLogger(DetectorConnectionFactory.class);
private final List<Detecting> _detectingConnectionFactories;
/**
* <p>When the first bytes are not recognized by the {@code detectingConnectionFactories}, the default behavior is to
* upgrade to the protocol returned by {@link #findNextProtocol(Connector)}.</p>
* @param detectingConnectionFactories the {@link Detecting} instances.
*/
public DetectorConnectionFactory(Detecting... detectingConnectionFactories)
{
super(toProtocolString(detectingConnectionFactories));
_detectingConnectionFactories = Arrays.asList(detectingConnectionFactories);
for (Detecting detectingConnectionFactory : detectingConnectionFactories)
{
addBean(detectingConnectionFactory);
}
}
private static String toProtocolString(Detecting... detectingConnectionFactories)
{
if (detectingConnectionFactories.length == 0)
throw new IllegalArgumentException("At least one detecting instance is required");
// remove protocol duplicates while keeping their ordering -> use LinkedHashSet
LinkedHashSet<String> protocols = Arrays.stream(detectingConnectionFactories).map(ConnectionFactory::getProtocol).collect(Collectors.toCollection(LinkedHashSet::new));
String protocol = protocols.stream().collect(Collectors.joining("|", "[", "]"));
if (LOG.isDebugEnabled())
LOG.debug("Detector generated protocol name : {}", protocol);
return protocol;
}
/**
* Performs a detection using multiple {@link ConnectionFactory.Detecting} instances and returns the aggregated outcome.
* @param buffer the buffer to perform a detection against.
* @return A {@link Detecting.Detection} value with the detection outcome of the {@code detectingConnectionFactories}.
*/
@Override
public Detecting.Detection detect(ByteBuffer buffer)
{
if (LOG.isDebugEnabled())
LOG.debug("Detector {} detecting from buffer {} using {}", getProtocol(), BufferUtil.toHexString(buffer), _detectingConnectionFactories);
boolean needMoreBytes = true;
for (Detecting detectingConnectionFactory : _detectingConnectionFactories)
{
Detecting.Detection detection = detectingConnectionFactory.detect(buffer);
if (detection == Detecting.Detection.RECOGNIZED)
{
if (LOG.isDebugEnabled())
LOG.debug("Detector {} recognized bytes using {}", getProtocol(), detection);
return Detecting.Detection.RECOGNIZED;
}
needMoreBytes &= detection == Detection.NEED_MORE_BYTES;
}
if (LOG.isDebugEnabled())
LOG.debug("Detector {} {}", getProtocol(), (needMoreBytes ? "requires more bytes" : "failed to recognize bytes"));
return needMoreBytes ? Detection.NEED_MORE_BYTES : Detection.NOT_RECOGNIZED;
}
/**
* Utility method that performs an upgrade to the specified connection factory, disposing of the given resources when needed.
* @param connectionFactory the connection factory to upgrade to.
* @param connector the connector.
* @param endPoint the endpoint.
*/
protected static void upgradeToConnectionFactory(ConnectionFactory connectionFactory, Connector connector, EndPoint endPoint) throws IllegalStateException
{
if (LOG.isDebugEnabled())
LOG.debug("Upgrading to connection factory {}", connectionFactory);
if (connectionFactory == null)
throw new IllegalStateException("Cannot upgrade: connection factory must not be null for " + endPoint);
Connection nextConnection = connectionFactory.newConnection(connector, endPoint);
if (!(nextConnection instanceof Connection.UpgradeTo))
throw new IllegalStateException("Cannot upgrade: " + nextConnection + " does not implement " + Connection.UpgradeTo.class.getName() + " for " + endPoint);
endPoint.upgrade(nextConnection);
if (LOG.isDebugEnabled())
LOG.debug("Upgraded to connection factory {} and released buffer", connectionFactory);
}
/**
* <p>Callback method called when detection was unsuccessful.
* This implementation upgrades to the protocol returned by {@link #findNextProtocol(Connector)}.</p>
* @param connector the connector.
* @param endPoint the endpoint.
* @param buffer the buffer.
*/
protected void nextProtocol(Connector connector, EndPoint endPoint, ByteBuffer buffer) throws IllegalStateException
{
String nextProtocol = findNextProtocol(connector);
if (LOG.isDebugEnabled())
LOG.debug("Detector {} detection unsuccessful, found '{}' as the next protocol to upgrade to", getProtocol(), nextProtocol);
if (nextProtocol == null)
throw new IllegalStateException("Cannot find protocol following '" + getProtocol() + "' in connector's protocol list " + connector.getProtocols() + " for " + endPoint);
upgradeToConnectionFactory(connector.getConnectionFactory(nextProtocol), connector, endPoint);
}
@Override
public Connection newConnection(Connector connector, EndPoint endPoint)
{
return configure(new DetectorConnection(endPoint, connector), connector, endPoint);
}
private class DetectorConnection extends AbstractConnection implements Connection.UpgradeFrom, Connection.UpgradeTo
{
private final Connector _connector;
private final ByteBuffer _buffer;
private DetectorConnection(EndPoint endp, Connector connector)
{
super(endp, connector.getExecutor());
_connector = connector;
_buffer = connector.getByteBufferPool().acquire(getInputBufferSize(), true);
}
@Override
public void onUpgradeTo(ByteBuffer prefilled)
{
if (LOG.isDebugEnabled())
LOG.debug("Detector {} copying prefilled buffer {}", getProtocol(), BufferUtil.toDetailString(prefilled));
if (BufferUtil.hasContent(prefilled))
BufferUtil.append(_buffer, prefilled);
}
@Override
public ByteBuffer onUpgradeFrom()
{
return _buffer;
}
@Override
public void onOpen()
{
super.onOpen();
if (!detectAndUpgrade())
fillInterested();
}
@Override
public void onFillable()
{
try
{
while (BufferUtil.space(_buffer) > 0)
{
// Read data
int fill = getEndPoint().fill(_buffer);
if (LOG.isDebugEnabled())
LOG.debug("Detector {} filled buffer with {} bytes", getProtocol(), fill);
if (fill < 0)
{
_connector.getByteBufferPool().release(_buffer);
getEndPoint().shutdownOutput();
return;
}
if (fill == 0)
{
fillInterested();
return;
}
if (detectAndUpgrade())
return;
}
// all Detecting instances want more bytes than this buffer can store
LOG.warn("Detector {} failed to detect upgrade target on {} for {}", getProtocol(), _detectingConnectionFactories, getEndPoint());
releaseAndClose();
}
catch (Throwable x)
{
LOG.warn("Detector {} error for {}", getProtocol(), getEndPoint(), x);
releaseAndClose();
}
}
/**
* @return true when upgrade was performed, false otherwise.
*/
private boolean detectAndUpgrade()
{
if (BufferUtil.isEmpty(_buffer))
{
if (LOG.isDebugEnabled())
LOG.debug("Detector {} skipping detection on an empty buffer", getProtocol());
return false;
}
if (LOG.isDebugEnabled())
LOG.debug("Detector {} performing detection with {} bytes", getProtocol(), _buffer.remaining());
boolean notRecognized = true;
for (Detecting detectingConnectionFactory : _detectingConnectionFactories)
{
Detecting.Detection detection = detectingConnectionFactory.detect(_buffer);
if (LOG.isDebugEnabled())
LOG.debug("Detector {} performed detection from {} with {} which returned {}", getProtocol(), BufferUtil.toDetailString(_buffer), detectingConnectionFactory, detection);
if (detection == Detecting.Detection.RECOGNIZED)
{
try
{
// This DetectingConnectionFactory recognized those bytes -> upgrade to the next one.
Connection nextConnection = detectingConnectionFactory.newConnection(_connector, getEndPoint());
if (!(nextConnection instanceof UpgradeTo))
throw new IllegalStateException("Cannot upgrade: " + nextConnection + " does not implement " + UpgradeTo.class.getName());
getEndPoint().upgrade(nextConnection);
if (LOG.isDebugEnabled())
LOG.debug("Detector {} upgraded to {}", getProtocol(), nextConnection);
return true;
}
catch (DetectionFailureException e)
{
// It's just bubbling up from a nested Detector, so it's already handled, just rethrow it.
if (LOG.isDebugEnabled())
LOG.debug("Detector {} failed to upgrade, rethrowing", getProtocol(), e);
throw e;
}
catch (Exception e)
{
// Two reasons that can make us end up here:
// 1) detectingConnectionFactory.newConnection() failed? probably because it cannot find the next protocol
// 2) nextConnection is not instanceof UpgradeTo
// -> release the resources before rethrowing as DetectionFailureException
if (LOG.isDebugEnabled())
LOG.debug("Detector {} failed to upgrade", getProtocol());
releaseAndClose();
throw new DetectionFailureException(e);
}
}
notRecognized &= detection == Detecting.Detection.NOT_RECOGNIZED;
}
if (notRecognized)
{
// No DetectingConnectionFactory recognized those bytes -> call unsuccessful detection callback.
if (LOG.isDebugEnabled())
LOG.debug("Detector {} failed to detect a known protocol, falling back to nextProtocol()", getProtocol());
nextProtocol(_connector, getEndPoint(), _buffer);
if (LOG.isDebugEnabled())
LOG.debug("Detector {} call to nextProtocol() succeeded, assuming upgrade performed", getProtocol());
return true;
}
return false;
}
private void releaseAndClose()
{
if (LOG.isDebugEnabled())
LOG.debug("Detector {} releasing buffer and closing", getProtocol());
_connector.getByteBufferPool().release(_buffer);
close();
}
}
private static class DetectionFailureException extends RuntimeException
{
public DetectionFailureException(Throwable cause)
{
super(cause);
}
}
}

View File

@ -587,13 +587,14 @@ public class ForwardedRequestCustomizer implements Customizer
}
}
@SuppressWarnings("unused")
public void handleHost(HttpField field)
{
if (getForwardedPortAsAuthority() && !StringUtil.isEmpty(getForwardedPortHeader()))
{
if (_host == null)
_host = new PossiblyPartialHostPort(getLeftMost(field.getValue()));
else if (_for instanceof PortSetHostPort)
else if (_host instanceof PortSetHostPort)
_host = new HostPort(HostPort.normalizeHost(getLeftMost(field.getValue())), _host.getPort());
}
else if (_host == null)

View File

@ -25,6 +25,7 @@ import java.util.concurrent.RejectedExecutionException;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.LongAdder;
import org.eclipse.jetty.http.BadMessageException;
import org.eclipse.jetty.http.HttpCompliance;
import org.eclipse.jetty.http.HttpField;
import org.eclipse.jetty.http.HttpGenerator;
@ -33,6 +34,7 @@ import org.eclipse.jetty.http.HttpHeaderValue;
import org.eclipse.jetty.http.HttpMethod;
import org.eclipse.jetty.http.HttpParser;
import org.eclipse.jetty.http.HttpParser.RequestHandler;
import org.eclipse.jetty.http.HttpStatus;
import org.eclipse.jetty.http.MetaData;
import org.eclipse.jetty.http.PreEncodedHttpField;
import org.eclipse.jetty.io.AbstractConnection;
@ -781,6 +783,15 @@ public class HttpConnection extends AbstractConnection implements Runnable, Http
case NEED_HEADER:
{
_header = _bufferPool.acquire(Math.min(_config.getResponseHeaderSize(), _config.getOutputBufferSize()), useDirectByteBuffers);
continue;
}
case HEADER_OVERFLOW:
{
int capacity = _header.capacity();
_bufferPool.release(_header);
if (capacity >= _config.getResponseHeaderSize())
throw new BadMessageException(HttpStatus.INTERNAL_SERVER_ERROR_500, "Response header too large");
_header = _bufferPool.acquire(_config.getResponseHeaderSize(), useDirectByteBuffers);
continue;
}

View File

@ -18,14 +18,10 @@
package org.eclipse.jetty.server;
import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.charset.StandardCharsets;
import org.eclipse.jetty.io.AbstractConnection;
import org.eclipse.jetty.io.Connection;
import org.eclipse.jetty.io.EndPoint;
import org.eclipse.jetty.util.BufferUtil;
import org.eclipse.jetty.util.Callback;
import org.eclipse.jetty.util.log.Log;
import org.eclipse.jetty.util.log.Logger;
@ -34,62 +30,70 @@ import org.eclipse.jetty.util.log.Logger;
* <p>A ConnectionFactory whose connections detect whether the first bytes are
* TLS bytes and upgrades to either a TLS connection or to another configurable
* connection.</p>
*
* @deprecated Use {@link DetectorConnectionFactory} with a {@link SslConnectionFactory} instead.
*/
public class OptionalSslConnectionFactory extends AbstractConnectionFactory
@Deprecated
public class OptionalSslConnectionFactory extends DetectorConnectionFactory
{
private static final Logger LOG = Log.getLogger(OptionalSslConnection.class);
private static final int TLS_ALERT_FRAME_TYPE = 0x15;
private static final int TLS_HANDSHAKE_FRAME_TYPE = 0x16;
private static final int TLS_MAJOR_VERSION = 3;
private final SslConnectionFactory sslConnectionFactory;
private final String otherProtocol;
private static final Logger LOG = Log.getLogger(OptionalSslConnectionFactory.class);
private final String _nextProtocol;
/**
* <p>Creates a new ConnectionFactory whose connections can upgrade to TLS or another protocol.</p>
* <p>If {@code otherProtocol} is {@code null}, and the first bytes are not TLS, then
* {@link #otherProtocol(ByteBuffer, EndPoint)} is called.</p>
*
* @param sslConnectionFactory The SslConnectionFactory to use if the first bytes are TLS
* @param otherProtocol the protocol of the ConnectionFactory to use if the first bytes are not TLS,
* @param sslConnectionFactory The {@link SslConnectionFactory} to use if the first bytes are TLS
* @param nextProtocol the protocol of the {@link ConnectionFactory} to use if the first bytes are not TLS,
* or null to explicitly handle the non-TLS case
*/
public OptionalSslConnectionFactory(SslConnectionFactory sslConnectionFactory, String otherProtocol)
public OptionalSslConnectionFactory(SslConnectionFactory sslConnectionFactory, String nextProtocol)
{
super("ssl|other");
this.sslConnectionFactory = sslConnectionFactory;
this.otherProtocol = otherProtocol;
}
@Override
public Connection newConnection(Connector connector, EndPoint endPoint)
{
return configure(new OptionalSslConnection(endPoint, connector), connector, endPoint);
super(sslConnectionFactory);
_nextProtocol = nextProtocol;
}
/**
* @param buffer The buffer with the first bytes of the connection
* @return whether the bytes seem TLS bytes
*/
protected boolean seemsTLS(ByteBuffer buffer)
{
int tlsFrameType = buffer.get(0) & 0xFF;
int tlsMajorVersion = buffer.get(1) & 0xFF;
return (tlsFrameType == TLS_HANDSHAKE_FRAME_TYPE || tlsFrameType == TLS_ALERT_FRAME_TYPE) && tlsMajorVersion == TLS_MAJOR_VERSION;
}
/**
* <p>Callback method invoked when {@code otherProtocol} is {@code null}
* and the first bytes are not TLS.</p>
* <p>Callback method invoked when the detected bytes are not TLS.</p>
* <p>This typically happens when a client is trying to connect to a TLS
* port using the {@code http} scheme (and not the {@code https} scheme).</p>
*
* @param connector The connector object
* @param endPoint The connection EndPoint object
* @param buffer The buffer with the first bytes of the connection
*/
protected void nextProtocol(Connector connector, EndPoint endPoint, ByteBuffer buffer)
{
if (LOG.isDebugEnabled())
LOG.debug("OptionalSSL TLS detection unsuccessful, attempting to upgrade to {}", _nextProtocol);
if (_nextProtocol != null)
{
ConnectionFactory connectionFactory = connector.getConnectionFactory(_nextProtocol);
if (connectionFactory == null)
throw new IllegalStateException("Cannot find protocol '" + _nextProtocol + "' in connector's protocol list " + connector.getProtocols() + " for " + endPoint);
upgradeToConnectionFactory(connectionFactory, connector, endPoint);
}
else
{
otherProtocol(buffer, endPoint);
}
}
/**
* <p>Legacy callback method invoked when {@code nextProtocol} is {@code null}
* and the first bytes are not TLS.</p>
* <p>This typically happens when a client is trying to connect to a TLS
* port using the {@code http} scheme (and not the {@code https} scheme).</p>
* <p>This method is kept around for backward compatibility.</p>
*
* @param buffer The buffer with the first bytes of the connection
* @param endPoint The connection EndPoint object
* @see #seemsTLS(ByteBuffer)
* @deprecated Override {@link #nextProtocol(Connector, EndPoint, ByteBuffer)} instead.
*/
@Deprecated
protected void otherProtocol(ByteBuffer buffer, EndPoint endPoint)
{
LOG.warn("Detected non-TLS bytes, but no other protocol to upgrade to for {}", endPoint);
// There are always at least 2 bytes.
int byte1 = buffer.get(0) & 0xFF;
int byte2 = buffer.get(1) & 0xFF;
@ -122,105 +126,4 @@ public class OptionalSslConnectionFactory extends AbstractConnectionFactory
endPoint.close();
}
}
private class OptionalSslConnection extends AbstractConnection implements Connection.UpgradeFrom
{
private final Connector connector;
private final ByteBuffer buffer;
public OptionalSslConnection(EndPoint endPoint, Connector connector)
{
super(endPoint, connector.getExecutor());
this.connector = connector;
this.buffer = BufferUtil.allocateDirect(1536);
}
@Override
public void onOpen()
{
super.onOpen();
fillInterested();
}
@Override
public void onFillable()
{
try
{
while (true)
{
int filled = getEndPoint().fill(buffer);
if (filled > 0)
{
// Always have at least 2 bytes.
if (BufferUtil.length(buffer) >= 2)
{
upgrade(buffer);
break;
}
}
else if (filled == 0)
{
fillInterested();
break;
}
else
{
close();
break;
}
}
}
catch (IOException x)
{
LOG.warn(x);
close();
}
}
@Override
public ByteBuffer onUpgradeFrom()
{
return buffer;
}
private void upgrade(ByteBuffer buffer)
{
if (LOG.isDebugEnabled())
LOG.debug("Read {}", BufferUtil.toDetailString(buffer));
EndPoint endPoint = getEndPoint();
if (seemsTLS(buffer))
{
if (LOG.isDebugEnabled())
LOG.debug("Detected TLS bytes, upgrading to {}", sslConnectionFactory);
endPoint.upgrade(sslConnectionFactory.newConnection(connector, endPoint));
}
else
{
if (otherProtocol != null)
{
ConnectionFactory connectionFactory = connector.getConnectionFactory(otherProtocol);
if (connectionFactory != null)
{
if (LOG.isDebugEnabled())
LOG.debug("Detected non-TLS bytes, upgrading to {}", connectionFactory);
Connection next = connectionFactory.newConnection(connector, endPoint);
endPoint.upgrade(next);
}
else
{
LOG.warn("Missing {} {} in {}", otherProtocol, ConnectionFactory.class.getSimpleName(), connector);
close();
}
}
else
{
if (LOG.isDebugEnabled())
LOG.debug("Detected non-TLS bytes, but no other protocol to upgrade to");
otherProtocol(buffer, endPoint);
}
}
}
}
}

View File

@ -630,9 +630,6 @@ public class Request implements HttpServletRequest
return (_attributes == null) ? null : _attributes.getAttribute(name);
}
/*
* @see javax.servlet.ServletRequest#getAttributeNames()
*/
@Override
public Enumeration<String> getAttributeNames()
{
@ -659,9 +656,6 @@ public class Request implements HttpServletRequest
return _authentication;
}
/*
* @see javax.servlet.http.HttpServletRequest#getAuthType()
*/
@Override
public String getAuthType()
{
@ -673,9 +667,6 @@ public class Request implements HttpServletRequest
return null;
}
/*
* @see javax.servlet.ServletRequest#getCharacterEncoding()
*/
@Override
public String getCharacterEncoding()
{
@ -707,9 +698,6 @@ public class Request implements HttpServletRequest
return _channel;
}
/*
* @see javax.servlet.ServletRequest#getContentLength()
*/
@Override
public int getContentLength()
{
@ -733,9 +721,6 @@ public class Request implements HttpServletRequest
return (int)metadata.getFields().getLongField(HttpHeader.CONTENT_LENGTH.asString());
}
/*
* @see javax.servlet.ServletRequest.getContentLengthLong()
*/
@Override
public long getContentLengthLong()
{
@ -752,9 +737,6 @@ public class Request implements HttpServletRequest
return _input.getContentConsumed();
}
/*
* @see javax.servlet.ServletRequest#getContentType()
*/
@Override
public String getContentType()
{
@ -790,18 +772,12 @@ public class Request implements HttpServletRequest
return _errorContext;
}
/*
* @see javax.servlet.http.HttpServletRequest#getContextPath()
*/
@Override
public String getContextPath()
{
return _contextPath;
}
/*
* @see javax.servlet.http.HttpServletRequest#getCookies()
*/
@Override
public Cookie[] getCookies()
{
@ -833,9 +809,6 @@ public class Request implements HttpServletRequest
return _cookies.getCookies();
}
/*
* @see javax.servlet.http.HttpServletRequest#getDateHeader(java.lang.String)
*/
@Override
public long getDateHeader(String name)
{
@ -849,9 +822,6 @@ public class Request implements HttpServletRequest
return _dispatcherType;
}
/*
* @see javax.servlet.http.HttpServletRequest#getHeader(java.lang.String)
*/
@Override
public String getHeader(String name)
{
@ -859,9 +829,6 @@ public class Request implements HttpServletRequest
return metadata == null ? null : metadata.getFields().get(name);
}
/*
* @see javax.servlet.http.HttpServletRequest#getHeaderNames()
*/
@Override
public Enumeration<String> getHeaderNames()
{
@ -869,9 +836,6 @@ public class Request implements HttpServletRequest
return metadata == null ? Collections.emptyEnumeration() : metadata.getFields().getFieldNames();
}
/*
* @see javax.servlet.http.HttpServletRequest#getHeaders(java.lang.String)
*/
@Override
public Enumeration<String> getHeaders(String name)
{
@ -892,9 +856,6 @@ public class Request implements HttpServletRequest
return _inputState;
}
/*
* @see javax.servlet.ServletRequest#getInputStream()
*/
@Override
public ServletInputStream getInputStream() throws IOException
{
@ -908,9 +869,6 @@ public class Request implements HttpServletRequest
return _input;
}
/*
* @see javax.servlet.http.HttpServletRequest#getIntHeader(java.lang.String)
*/
@Override
public int getIntHeader(String name)
{
@ -918,9 +876,6 @@ public class Request implements HttpServletRequest
return metadata == null ? -1 : (int)metadata.getFields().getLongField(name);
}
/*
* @see javax.servlet.ServletRequest#getLocale()
*/
@Override
public Locale getLocale()
{
@ -946,9 +901,6 @@ public class Request implements HttpServletRequest
return new Locale(language, country);
}
/*
* @see javax.servlet.ServletRequest#getLocales()
*/
@Override
public Enumeration<Locale> getLocales()
{
@ -978,9 +930,6 @@ public class Request implements HttpServletRequest
return Collections.enumeration(locales);
}
/*
* @see javax.servlet.ServletRequest#getLocalAddr()
*/
@Override
public String getLocalAddr()
{
@ -1008,9 +957,6 @@ public class Request implements HttpServletRequest
return address.getHostAddress();
}
/*
* @see javax.servlet.ServletRequest#getLocalName()
*/
@Override
public String getLocalName()
{
@ -1035,9 +981,6 @@ public class Request implements HttpServletRequest
return null;
}
/*
* @see javax.servlet.ServletRequest#getLocalPort()
*/
@Override
public int getLocalPort()
{
@ -1047,9 +990,6 @@ public class Request implements HttpServletRequest
return local == null ? 0 : local.getPort();
}
/*
* @see javax.servlet.http.HttpServletRequest#getMethod()
*/
@Override
public String getMethod()
{
@ -1059,36 +999,24 @@ public class Request implements HttpServletRequest
return null;
}
/*
* @see javax.servlet.ServletRequest#getParameter(java.lang.String)
*/
@Override
public String getParameter(String name)
{
return getParameters().getValue(name, 0);
}
/*
* @see javax.servlet.ServletRequest#getParameterMap()
*/
@Override
public Map<String, String[]> getParameterMap()
{
return Collections.unmodifiableMap(getParameters().toStringArrayMap());
}
/*
* @see javax.servlet.ServletRequest#getParameterNames()
*/
@Override
public Enumeration<String> getParameterNames()
{
return Collections.enumeration(getParameters().keySet());
}
/*
* @see javax.servlet.ServletRequest#getParameterValues(java.lang.String)
*/
@Override
public String[] getParameterValues(String name)
{
@ -1118,18 +1046,12 @@ public class Request implements HttpServletRequest
_parameters = null;
}
/*
* @see javax.servlet.http.HttpServletRequest#getPathInfo()
*/
@Override
public String getPathInfo()
{
return _pathInfo;
}
/*
* @see javax.servlet.http.HttpServletRequest#getPathTranslated()
*/
@Override
public String getPathTranslated()
{
@ -1138,9 +1060,6 @@ public class Request implements HttpServletRequest
return _context.getRealPath(_pathInfo);
}
/*
* @see javax.servlet.ServletRequest#getProtocol()
*/
@Override
public String getProtocol()
{
@ -1167,9 +1086,6 @@ public class Request implements HttpServletRequest
return _queryEncoding;
}
/*
* @see javax.servlet.http.HttpServletRequest#getQueryString()
*/
@Override
public String getQueryString()
{
@ -1177,9 +1093,6 @@ public class Request implements HttpServletRequest
return metadata == null ? null : metadata.getURI().getQuery();
}
/*
* @see javax.servlet.ServletRequest#getReader()
*/
@Override
public BufferedReader getReader() throws IOException
{
@ -1234,9 +1147,6 @@ public class Request implements HttpServletRequest
return remote;
}
/*
* @see javax.servlet.ServletRequest#getRemoteAddr()
*/
@Override
public String getRemoteAddr()
{
@ -1254,9 +1164,6 @@ public class Request implements HttpServletRequest
return address.getHostAddress();
}
/*
* @see javax.servlet.ServletRequest#getRemoteHost()
*/
@Override
public String getRemoteHost()
{
@ -1266,9 +1173,6 @@ public class Request implements HttpServletRequest
return remote == null ? "" : remote.getHostString();
}
/*
* @see javax.servlet.ServletRequest#getRemotePort()
*/
@Override
public int getRemotePort()
{
@ -1278,9 +1182,6 @@ public class Request implements HttpServletRequest
return remote == null ? 0 : remote.getPort();
}
/*
* @see javax.servlet.http.HttpServletRequest#getRemoteUser()
*/
@Override
public String getRemoteUser()
{
@ -1290,9 +1191,6 @@ public class Request implements HttpServletRequest
return p.getName();
}
/*
* @see javax.servlet.ServletRequest#getRequestDispatcher(java.lang.String)
*/
@Override
public RequestDispatcher getRequestDispatcher(String path)
{
@ -1318,18 +1216,12 @@ public class Request implements HttpServletRequest
return _context.getRequestDispatcher(path);
}
/*
* @see javax.servlet.http.HttpServletRequest#getRequestedSessionId()
*/
@Override
public String getRequestedSessionId()
{
return _requestedSessionId;
}
/*
* @see javax.servlet.http.HttpServletRequest#getRequestURI()
*/
@Override
public String getRequestURI()
{
@ -1337,9 +1229,6 @@ public class Request implements HttpServletRequest
return metadata == null ? null : metadata.getURI().getPath();
}
/*
* @see javax.servlet.http.HttpServletRequest#getRequestURL()
*/
@Override
public StringBuffer getRequestURL()
{
@ -1371,9 +1260,6 @@ public class Request implements HttpServletRequest
return url;
}
/*
* @see javax.servlet.ServletRequest#getScheme()
*/
@Override
public String getScheme()
{
@ -1382,9 +1268,6 @@ public class Request implements HttpServletRequest
return scheme == null ? HttpScheme.HTTP.asString() : scheme;
}
/*
* @see javax.servlet.ServletRequest#getServerName()
*/
@Override
public String getServerName()
{
@ -1417,9 +1300,6 @@ public class Request implements HttpServletRequest
return null;
}
/*
* @see javax.servlet.ServletRequest#getServerPort()
*/
@Override
public int getServerPort()
{
@ -1461,9 +1341,6 @@ public class Request implements HttpServletRequest
return null;
}
/*
* @see javax.servlet.http.HttpServletRequest#getServletPath()
*/
@Override
public String getServletPath()
{
@ -1564,18 +1441,12 @@ public class Request implements HttpServletRequest
return session;
}
/*
* @see javax.servlet.http.HttpServletRequest#getSession()
*/
@Override
public HttpSession getSession()
{
return getSession(true);
}
/*
* @see javax.servlet.http.HttpServletRequest#getSession(boolean)
*/
@Override
public HttpSession getSession(boolean create)
{
@ -1675,9 +1546,6 @@ public class Request implements HttpServletRequest
return _scope;
}
/*
* @see javax.servlet.http.HttpServletRequest#getUserPrincipal()
*/
@Override
public Principal getUserPrincipal()
{
@ -1710,18 +1578,12 @@ public class Request implements HttpServletRequest
return _asyncNotSupportedSource == null;
}
/*
* @see javax.servlet.http.HttpServletRequest#isRequestedSessionIdFromCookie()
*/
@Override
public boolean isRequestedSessionIdFromCookie()
{
return _requestedSessionId != null && _requestedSessionIdFromCookie;
}
/*
* @see javax.servlet.http.HttpServletRequest#isRequestedSessionIdFromUrl()
*/
@Override
@Deprecated(since = "Servlet API 2.1")
public boolean isRequestedSessionIdFromUrl()
@ -1729,18 +1591,12 @@ public class Request implements HttpServletRequest
return _requestedSessionId != null && !_requestedSessionIdFromCookie;
}
/*
* @see javax.servlet.http.HttpServletRequest#isRequestedSessionIdFromURL()
*/
@Override
public boolean isRequestedSessionIdFromURL()
{
return _requestedSessionId != null && !_requestedSessionIdFromCookie;
}
/*
* @see javax.servlet.http.HttpServletRequest#isRequestedSessionIdValid()
*/
@Override
public boolean isRequestedSessionIdValid()
{
@ -1751,9 +1607,6 @@ public class Request implements HttpServletRequest
return (session != null && _sessionHandler.getSessionIdManager().getId(_requestedSessionId).equals(_sessionHandler.getId(session)));
}
/*
* @see javax.servlet.ServletRequest#isSecure()
*/
@Override
public boolean isSecure()
{
@ -1765,9 +1618,6 @@ public class Request implements HttpServletRequest
_secure = secure;
}
/*
* @see javax.servlet.http.HttpServletRequest#isUserInRole(java.lang.String)
*/
@Override
public boolean isUserInRole(String role)
{
@ -1907,9 +1757,6 @@ public class Request implements HttpServletRequest
_requestAttributeListeners.clear();
}
/*
* @see javax.servlet.ServletRequest#removeAttribute(java.lang.String)
*/
@Override
public void removeAttribute(String name)
{
@ -1938,7 +1785,7 @@ public class Request implements HttpServletRequest
_asyncNotSupportedSource = supported ? null : (source == null ? "unknown" : source);
}
/*
/**
* 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}.
*
@ -1988,9 +1835,6 @@ public class Request implements HttpServletRequest
_authentication = authentication;
}
/*
* @see javax.servlet.ServletRequest#setCharacterEncoding(java.lang.String)
*/
@Override
public void setCharacterEncoding(String encoding) throws UnsupportedEncodingException
{
@ -2491,9 +2335,6 @@ public class Request implements HttpServletRequest
}
}
/**
* @see javax.servlet.http.HttpServletRequest#upgrade(java.lang.Class)
*/
@Override
public <T extends HttpUpgradeHandler> T upgrade(Class<T> handlerClass) throws IOException, ServletException
{

View File

@ -612,45 +612,30 @@ public class Server extends HandlerWrapper implements Attributes
_sessionIdManager = sessionIdManager;
}
/*
* @see org.eclipse.util.AttributesMap#clearAttributes()
*/
@Override
public void clearAttributes()
{
_attributes.clearAttributes();
}
/*
* @see org.eclipse.util.AttributesMap#getAttribute(java.lang.String)
*/
@Override
public Object getAttribute(String name)
{
return _attributes.getAttribute(name);
}
/*
* @see org.eclipse.util.AttributesMap#getAttributeNames()
*/
@Override
public Enumeration<String> getAttributeNames()
{
return _attributes.getAttributeNames();
}
/*
* @see org.eclipse.util.AttributesMap#removeAttribute(java.lang.String)
*/
@Override
public void removeAttribute(String name)
{
_attributes.removeAttribute(name);
}
/*
* @see org.eclipse.util.AttributesMap#setAttribute(java.lang.String, java.lang.Object)
*/
@Override
public void setAttribute(String name, Object attribute)
{

View File

@ -195,54 +195,36 @@ public class ServletRequestHttpWrapper extends ServletRequestWrapper implements
return false;
}
/**
* @see javax.servlet.http.HttpServletRequest#authenticate(javax.servlet.http.HttpServletResponse)
*/
@Override
public boolean authenticate(HttpServletResponse response) throws IOException, ServletException
{
return false;
}
/**
* @see javax.servlet.http.HttpServletRequest#getPart(java.lang.String)
*/
@Override
public Part getPart(String name) throws IOException, ServletException
{
return null;
}
/**
* @see javax.servlet.http.HttpServletRequest#getParts()
*/
@Override
public Collection<Part> getParts() throws IOException, ServletException
{
return null;
}
/**
* @see javax.servlet.http.HttpServletRequest#login(java.lang.String, java.lang.String)
*/
@Override
public void login(String username, String password) throws ServletException
{
}
/**
* @see javax.servlet.http.HttpServletRequest#logout()
*/
@Override
public void logout() throws ServletException
{
}
/**
* @see javax.servlet.http.HttpServletRequest#changeSessionId()
*/
@Override
public String changeSessionId()
{
@ -250,9 +232,6 @@ public class ServletRequestHttpWrapper extends ServletRequestWrapper implements
return null;
}
/**
* @see javax.servlet.http.HttpServletRequest#upgrade(java.lang.Class)
*/
@Override
public <T extends HttpUpgradeHandler> T upgrade(Class<T> handlerClass) throws IOException, ServletException
{

View File

@ -130,36 +130,24 @@ public class ServletResponseHttpWrapper extends ServletResponseWrapper implement
{
}
/**
* @see javax.servlet.http.HttpServletResponse#getHeader(java.lang.String)
*/
@Override
public String getHeader(String name)
{
return null;
}
/**
* @see javax.servlet.http.HttpServletResponse#getHeaderNames()
*/
@Override
public Collection<String> getHeaderNames()
{
return null;
}
/**
* @see javax.servlet.http.HttpServletResponse#getHeaders(java.lang.String)
*/
@Override
public Collection<String> getHeaders(String name)
{
return null;
}
/**
* @see javax.servlet.http.HttpServletResponse#getStatus()
*/
@Override
public int getStatus()
{

View File

@ -18,6 +18,7 @@
package org.eclipse.jetty.server;
import java.nio.ByteBuffer;
import javax.net.ssl.SSLEngine;
import javax.net.ssl.SSLSession;
@ -31,8 +32,12 @@ import org.eclipse.jetty.util.annotation.Name;
import org.eclipse.jetty.util.component.ContainerLifeCycle;
import org.eclipse.jetty.util.ssl.SslContextFactory;
public class SslConnectionFactory extends AbstractConnectionFactory
public class SslConnectionFactory extends AbstractConnectionFactory implements ConnectionFactory.Detecting
{
private static final int TLS_ALERT_FRAME_TYPE = 0x15;
private static final int TLS_HANDSHAKE_FRAME_TYPE = 0x16;
private static final int TLS_MAJOR_VERSION = 3;
private final SslContextFactory.Server _sslContextFactory;
private final String _nextProtocol;
private boolean _directBuffersForEncryption = false;
@ -99,6 +104,17 @@ public class SslConnectionFactory extends AbstractConnectionFactory
setInputBufferSize(session.getPacketBufferSize());
}
@Override
public Detection detect(ByteBuffer buffer)
{
if (buffer.remaining() < 2)
return Detection.NEED_MORE_BYTES;
int tlsFrameType = buffer.get(0) & 0xFF;
int tlsMajorVersion = buffer.get(1) & 0xFF;
boolean seemsSsl = (tlsFrameType == TLS_HANDSHAKE_FRAME_TYPE || tlsFrameType == TLS_ALERT_FRAME_TYPE) && tlsMajorVersion == TLS_MAJOR_VERSION;
return seemsSsl ? Detection.RECOGNIZED : Detection.NOT_RECOGNIZED;
}
@Override
public Connection newConnection(Connector connector, EndPoint endPoint)
{

View File

@ -84,9 +84,6 @@ public abstract class AbstractHandler extends ContainerLifeCycle implements Hand
baseRequest.setHandled(true);
}
/*
* @see org.eclipse.thread.LifeCycle#start()
*/
@Override
protected void doStart() throws Exception
{
@ -97,9 +94,6 @@ public abstract class AbstractHandler extends ContainerLifeCycle implements Hand
super.doStart();
}
/*
* @see org.eclipse.thread.LifeCycle#stop()
*/
@Override
protected void doStop() throws Exception
{

View File

@ -100,9 +100,6 @@ public class BufferedResponseHandler extends HandlerWrapper
return _mimeTypes;
}
/**
* @see org.eclipse.jetty.server.handler.HandlerWrapper#handle(java.lang.String, org.eclipse.jetty.server.Request, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
*/
@Override
public void handle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
{

View File

@ -477,18 +477,12 @@ public class ContextHandler extends ScopedHandler implements Attributes, Gracefu
return vhosts;
}
/*
* @see javax.servlet.ServletContext#getAttribute(java.lang.String)
*/
@Override
public Object getAttribute(String name)
{
return _attributes.getAttribute(name);
}
/*
* @see javax.servlet.ServletContext#getAttributeNames()
*/
@Override
public Enumeration<String> getAttributeNames()
{
@ -747,9 +741,6 @@ public class ContextHandler extends ScopedHandler implements Attributes, Gracefu
_logger = logger;
}
/*
* @see org.eclipse.thread.AbstractLifeCycle#doStart()
*/
@Override
protected void doStart() throws Exception
{
@ -904,9 +895,6 @@ public class ContextHandler extends ScopedHandler implements Attributes, Gracefu
l.contextDestroyed(e);
}
/*
* @see org.eclipse.thread.AbstractLifeCycle#doStop()
*/
@Override
protected void doStop() throws Exception
{
@ -1080,10 +1068,6 @@ public class ContextHandler extends ScopedHandler implements Attributes, Gracefu
return true;
}
/**
* @see org.eclipse.jetty.server.handler.ScopedHandler#doScope(java.lang.String, org.eclipse.jetty.server.Request, javax.servlet.http.HttpServletRequest,
* javax.servlet.http.HttpServletResponse)
*/
@Override
public void doScope(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
{
@ -1229,10 +1213,6 @@ public class ContextHandler extends ScopedHandler implements Attributes, Gracefu
}
}
/**
* @see org.eclipse.jetty.server.handler.ScopedHandler#doHandle(java.lang.String, org.eclipse.jetty.server.Request, javax.servlet.http.HttpServletRequest,
* javax.servlet.http.HttpServletResponse)
*/
@Override
public void doHandle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
{
@ -1414,9 +1394,6 @@ public class ContextHandler extends ScopedHandler implements Attributes, Gracefu
return Arrays.copyOf(_protectedTargets, _protectedTargets.length);
}
/*
* @see javax.servlet.ServletContext#removeAttribute(java.lang.String)
*/
@Override
public void removeAttribute(String name)
{
@ -1988,9 +1965,6 @@ public class ContextHandler extends ScopedHandler implements Attributes, Gracefu
return ContextHandler.this;
}
/*
* @see javax.servlet.ServletContext#getContext(java.lang.String)
*/
@Override
public ServletContext getContext(String uripath)
{
@ -2077,9 +2051,6 @@ public class ContextHandler extends ScopedHandler implements Attributes, Gracefu
return null;
}
/*
* @see javax.servlet.ServletContext#getMimeType(java.lang.String)
*/
@Override
public String getMimeType(String file)
{
@ -2088,9 +2059,6 @@ public class ContextHandler extends ScopedHandler implements Attributes, Gracefu
return _mimeTypes.getMimeByExtension(file);
}
/*
* @see javax.servlet.ServletContext#getRequestDispatcher(java.lang.String)
*/
@Override
public RequestDispatcher getRequestDispatcher(String uriInContext)
{
@ -2123,9 +2091,6 @@ public class ContextHandler extends ScopedHandler implements Attributes, Gracefu
return null;
}
/*
* @see javax.servlet.ServletContext#getRealPath(java.lang.String)
*/
@Override
public String getRealPath(String path)
{
@ -2163,9 +2128,6 @@ public class ContextHandler extends ScopedHandler implements Attributes, Gracefu
return null;
}
/*
* @see javax.servlet.ServletContext#getResourceAsStream(java.lang.String)
*/
@Override
public InputStream getResourceAsStream(String path)
{
@ -2187,36 +2149,24 @@ public class ContextHandler extends ScopedHandler implements Attributes, Gracefu
}
}
/*
* @see javax.servlet.ServletContext#getResourcePaths(java.lang.String)
*/
@Override
public Set<String> getResourcePaths(String path)
{
return ContextHandler.this.getResourcePaths(path);
}
/*
* @see javax.servlet.ServletContext#log(java.lang.Exception, java.lang.String)
*/
@Override
public void log(Exception exception, String msg)
{
_logger.warn(msg, exception);
}
/*
* @see javax.servlet.ServletContext#log(java.lang.String)
*/
@Override
public void log(String msg)
{
_logger.info(msg);
}
/*
* @see javax.servlet.ServletContext#log(java.lang.String, java.lang.Throwable)
*/
@Override
public void log(String message, Throwable throwable)
{
@ -2226,27 +2176,18 @@ public class ContextHandler extends ScopedHandler implements Attributes, Gracefu
_logger.warn(message, throwable);
}
/*
* @see javax.servlet.ServletContext#getInitParameter(java.lang.String)
*/
@Override
public String getInitParameter(String name)
{
return ContextHandler.this.getInitParameter(name);
}
/*
* @see javax.servlet.ServletContext#getInitParameterNames()
*/
@Override
public Enumeration<String> getInitParameterNames()
{
return ContextHandler.this.getInitParameterNames();
}
/*
* @see javax.servlet.ServletContext#getAttribute(java.lang.String)
*/
@Override
public synchronized Object getAttribute(String name)
{
@ -2256,9 +2197,6 @@ public class ContextHandler extends ScopedHandler implements Attributes, Gracefu
return o;
}
/*
* @see javax.servlet.ServletContext#getAttributeNames()
*/
@Override
public synchronized Enumeration<String> getAttributeNames()
{
@ -2277,9 +2215,6 @@ public class ContextHandler extends ScopedHandler implements Attributes, Gracefu
return Collections.enumeration(set);
}
/*
* @see javax.servlet.ServletContext#setAttribute(java.lang.String, java.lang.Object)
*/
@Override
public synchronized void setAttribute(String name, Object value)
{
@ -2306,9 +2241,6 @@ public class ContextHandler extends ScopedHandler implements Attributes, Gracefu
}
}
/*
* @see javax.servlet.ServletContext#removeAttribute(java.lang.String)
*/
@Override
public synchronized void removeAttribute(String name)
{
@ -2325,9 +2257,6 @@ public class ContextHandler extends ScopedHandler implements Attributes, Gracefu
}
}
/*
* @see javax.servlet.ServletContext#getServletContextName()
*/
@Override
public String getServletContextName()
{

View File

@ -47,9 +47,6 @@ public class DebugHandler extends HandlerWrapper implements Connection.Listener
private OutputStream _out;
private PrintStream _print;
/*
* @see org.eclipse.jetty.server.Handler#handle(java.lang.String, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, int)
*/
@Override
public void handle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException
@ -120,9 +117,6 @@ public class DebugHandler extends HandlerWrapper implements Connection.Listener
_print.println(d + (ms > 99 ? "." : (ms > 9 ? ".0" : ".00")) + ms + ":" + name + " " + message);
}
/* (non-Javadoc)
* @see org.eclipse.jetty.server.handler.HandlerWrapper#doStart()
*/
@Override
protected void doStart() throws Exception
{
@ -139,9 +133,6 @@ public class DebugHandler extends HandlerWrapper implements Connection.Listener
super.doStart();
}
/* (non-Javadoc)
* @see org.eclipse.jetty.server.handler.HandlerWrapper#doStop()
*/
@Override
protected void doStop() throws Exception
{

View File

@ -81,9 +81,6 @@ public class DefaultHandler extends AbstractHandler
}
}
/*
* @see org.eclipse.jetty.server.server.Handler#handle(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, int)
*/
@Override
public void handle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
{

View File

@ -43,9 +43,6 @@ public class HandlerList extends HandlerCollection
super(handlers);
}
/**
* @see Handler#handle(String, Request, HttpServletRequest, HttpServletResponse)
*/
@Override
public void handle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException

View File

@ -81,27 +81,18 @@ public class HotSwapHandler extends AbstractHandlerContainer
}
}
/*
* @see org.eclipse.thread.AbstractLifeCycle#doStart()
*/
@Override
protected void doStart() throws Exception
{
super.doStart();
}
/*
* @see org.eclipse.thread.AbstractLifeCycle#doStop()
*/
@Override
protected void doStop() throws Exception
{
super.doStop();
}
/*
* @see org.eclipse.jetty.server.server.EventHandler#handle(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
*/
@Override
public void handle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
{

View File

@ -41,9 +41,6 @@ public class RequestLogHandler extends HandlerWrapper
{
private RequestLog _requestLog;
/*
* @see org.eclipse.jetty.server.server.Handler#handle(java.lang.String, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, int)
*/
@Override
public void handle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException

View File

@ -214,9 +214,6 @@ public class ResourceHandler extends HandlerWrapper implements ResourceFactory,
return _welcomes;
}
/*
* @see org.eclipse.jetty.server.Handler#handle(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, int)
*/
@Override
public void handle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
{

View File

@ -105,9 +105,6 @@ public abstract class ScopedHandler extends HandlerWrapper
protected ScopedHandler _outerScope;
protected ScopedHandler _nextScope;
/**
* @see org.eclipse.jetty.server.handler.HandlerWrapper#doStart()
*/
@Override
protected void doStart() throws Exception
{

View File

@ -183,9 +183,6 @@ public abstract class AbstractSessionCache extends ContainerLifeCycle implements
return _handler;
}
/**
* @see org.eclipse.jetty.server.session.SessionCache#initialize(org.eclipse.jetty.server.session.SessionContext)
*/
@Override
public void initialize(SessionContext context)
{
@ -194,9 +191,6 @@ public abstract class AbstractSessionCache extends ContainerLifeCycle implements
_context = context;
}
/**
* @see org.eclipse.jetty.util.component.AbstractLifeCycle#doStart()
*/
@Override
protected void doStart() throws Exception
{
@ -213,9 +207,6 @@ public abstract class AbstractSessionCache extends ContainerLifeCycle implements
super.doStart();
}
/**
* @see org.eclipse.jetty.util.component.AbstractLifeCycle#doStop()
*/
@Override
protected void doStop() throws Exception
{
@ -232,9 +223,6 @@ public abstract class AbstractSessionCache extends ContainerLifeCycle implements
return _sessionDataStore;
}
/**
* @see org.eclipse.jetty.server.session.SessionCache#setSessionDataStore(org.eclipse.jetty.server.session.SessionDataStore)
*/
@Override
public void setSessionDataStore(SessionDataStore sessionStore)
{
@ -669,9 +657,6 @@ public abstract class AbstractSessionCache extends ContainerLifeCycle implements
return doDelete(id);
}
/**
* @see org.eclipse.jetty.server.session.SessionCache#checkExpiration(Set)
*/
@Override
public Set<String> checkExpiration(Set<String> candidates)
{
@ -806,9 +791,6 @@ public abstract class AbstractSessionCache extends ContainerLifeCycle implements
}
}
/**
* @see org.eclipse.jetty.server.session.SessionCache#setSaveOnInactiveEviction(boolean)
*/
@Override
public void setSaveOnInactiveEviction(boolean saveOnEvict)
{
@ -828,9 +810,6 @@ public abstract class AbstractSessionCache extends ContainerLifeCycle implements
return _saveOnInactiveEviction;
}
/**
* @see org.eclipse.jetty.server.session.SessionCache#newSession(javax.servlet.http.HttpServletRequest, java.lang.String, long, long)
*/
@Override
public Session newSession(HttpServletRequest request, String id, long time, long maxInactiveMs)
{

View File

@ -83,9 +83,6 @@ public class CachingSessionDataStore extends ContainerLifeCycle implements Sessi
return _cache;
}
/**
* @see org.eclipse.jetty.server.session.SessionDataStore#load(java.lang.String)
*/
@Override
public SessionData load(String id) throws Exception
{
@ -110,9 +107,6 @@ public class CachingSessionDataStore extends ContainerLifeCycle implements Sessi
return d;
}
/**
* @see org.eclipse.jetty.server.session.SessionDataStore#delete(java.lang.String)
*/
@Override
public boolean delete(String id) throws Exception
{
@ -124,9 +118,6 @@ public class CachingSessionDataStore extends ContainerLifeCycle implements Sessi
return deleted;
}
/**
* @see org.eclipse.jetty.server.session.SessionDataStore#getExpired(Set)
*/
@Override
public Set<String> getExpired(Set<String> candidates)
{
@ -134,9 +125,6 @@ public class CachingSessionDataStore extends ContainerLifeCycle implements Sessi
return _store.getExpired(candidates);
}
/**
* @see org.eclipse.jetty.server.session.SessionDataStore#store(java.lang.String, org.eclipse.jetty.server.session.SessionData)
*/
@Override
public void store(String id, SessionData data) throws Exception
{
@ -162,18 +150,12 @@ public class CachingSessionDataStore extends ContainerLifeCycle implements Sessi
super.doStop();
}
/**
* @see org.eclipse.jetty.server.session.SessionDataStore#isPassivating()
*/
@Override
public boolean isPassivating()
{
return _store.isPassivating();
}
/**
* @see org.eclipse.jetty.server.session.SessionDataStore#exists(java.lang.String)
*/
@Override
public boolean exists(String id) throws Exception
{
@ -193,9 +175,6 @@ public class CachingSessionDataStore extends ContainerLifeCycle implements Sessi
return _store.exists(id);
}
/**
* @see org.eclipse.jetty.server.session.SessionDataStore#initialize(org.eclipse.jetty.server.session.SessionContext)
*/
@Override
public void initialize(SessionContext context) throws Exception
{
@ -204,9 +183,6 @@ public class CachingSessionDataStore extends ContainerLifeCycle implements Sessi
_cache.initialize(context);
}
/**
* @see org.eclipse.jetty.server.session.SessionDataStore#newSessionData(java.lang.String, long, long, long, long)
*/
@Override
public SessionData newSessionData(String id, long created, long accessed, long lastAccessed, long maxInactiveMs)
{

View File

@ -56,9 +56,6 @@ public class CachingSessionDataStoreFactory extends AbstractSessionDataStoreFact
_sessionStoreFactory = factory;
}
/**
* @see org.eclipse.jetty.server.session.SessionDataStoreFactory#getSessionDataStore(org.eclipse.jetty.server.session.SessionHandler)
*/
@Override
public SessionDataStore getSessionDataStore(SessionHandler handler) throws Exception
{

View File

@ -305,9 +305,6 @@ public class DatabaseAdaptor
return DriverManager.getConnection(_connectionUrl);
}
/**
* @see java.lang.Object#toString()
*/
@Override
public String toString()
{

View File

@ -274,9 +274,6 @@ public class DefaultSessionIdManager extends ContainerLifeCycle implements Sessi
return id;
}
/**
* @see org.eclipse.jetty.server.SessionIdManager#isIdInUse(java.lang.String)
*/
@Override
public boolean isIdInUse(String id)
{
@ -312,9 +309,6 @@ public class DefaultSessionIdManager extends ContainerLifeCycle implements Sessi
}
}
/**
* @see org.eclipse.jetty.util.component.AbstractLifeCycle#doStart()
*/
@Override
protected void doStart() throws Exception
{
@ -344,9 +338,6 @@ public class DefaultSessionIdManager extends ContainerLifeCycle implements Sessi
_houseKeeper.start();
}
/**
* @see org.eclipse.jetty.util.component.AbstractLifeCycle#doStop()
*/
@Override
protected void doStop() throws Exception
{
@ -488,9 +479,6 @@ public class DefaultSessionIdManager extends ContainerLifeCycle implements Sessi
return handlers;
}
/**
* @see java.lang.Object#toString()
*/
@Override
public String toString()
{

View File

@ -60,9 +60,6 @@ public class FileSessionDataStoreFactory extends AbstractSessionDataStoreFactory
_storeDir = storeDir;
}
/**
* @see org.eclipse.jetty.server.session.SessionDataStoreFactory#getSessionDataStore(org.eclipse.jetty.server.session.SessionHandler)
*/
@Override
public SessionDataStore getSessionDataStore(SessionHandler handler)
{

View File

@ -78,9 +78,6 @@ public class HouseKeeper extends AbstractLifeCycle
_sessionIdManager = sessionIdManager;
}
/**
* @see org.eclipse.jetty.util.component.AbstractLifeCycle#doStart()
*/
@Override
protected void doStart() throws Exception
{
@ -167,9 +164,6 @@ public class HouseKeeper extends AbstractLifeCycle
_runner = null;
}
/**
* @see org.eclipse.jetty.util.component.AbstractLifeCycle#doStop()
*/
@Override
protected void doStop() throws Exception
{
@ -263,9 +257,6 @@ public class HouseKeeper extends AbstractLifeCycle
}
}
/**
* @see java.lang.Object#toString()
*/
@Override
public String toString()
{

View File

@ -34,9 +34,6 @@ public class JDBCSessionDataStoreFactory extends AbstractSessionDataStoreFactory
*/
JDBCSessionDataStore.SessionTableSchema _schema;
/**
* @see org.eclipse.jetty.server.session.SessionDataStoreFactory#getSessionDataStore(org.eclipse.jetty.server.session.SessionHandler)
*/
@Override
public SessionDataStore getSessionDataStore(SessionHandler handler)
{

View File

@ -24,9 +24,6 @@ package org.eclipse.jetty.server.session;
public class NullSessionDataStoreFactory extends AbstractSessionDataStoreFactory
{
/**
* @see org.eclipse.jetty.server.session.SessionDataStoreFactory#getSessionDataStore(org.eclipse.jetty.server.session.SessionHandler)
*/
@Override
public SessionDataStore getSessionDataStore(SessionHandler handler) throws Exception
{

View File

@ -445,9 +445,6 @@ public class Session implements SessionHandler.SessionIf
}
}
/**
* @see javax.servlet.http.HttpSession#getId()
*/
@Override
public String getId()
{
@ -472,9 +469,6 @@ public class Session implements SessionHandler.SessionIf
return _sessionData.getVhost();
}
/**
* @see javax.servlet.http.HttpSession#getLastAccessedTime()
*/
@Override
public long getLastAccessedTime()
{
@ -488,9 +482,6 @@ public class Session implements SessionHandler.SessionIf
}
}
/**
* @see javax.servlet.http.HttpSession#getServletContext()
*/
@Override
public ServletContext getServletContext()
{
@ -499,9 +490,6 @@ public class Session implements SessionHandler.SessionIf
return _handler._context;
}
/**
* @see javax.servlet.http.HttpSession#setMaxInactiveInterval(int)
*/
@Override
public void setMaxInactiveInterval(int secs)
{
@ -596,9 +584,6 @@ public class Session implements SessionHandler.SessionIf
return time;
}
/**
* @see javax.servlet.http.HttpSession#getMaxInactiveInterval()
*/
@Override
public int getMaxInactiveInterval()
{
@ -609,9 +594,6 @@ public class Session implements SessionHandler.SessionIf
}
}
/**
* @see javax.servlet.http.HttpSession#getSessionContext()
*/
@Override
@Deprecated(since = "Servlet API 2.1")
public HttpSessionContext getSessionContext()
@ -670,9 +652,6 @@ public class Session implements SessionHandler.SessionIf
throw new IllegalStateException("Invalid for read: id=" + _sessionData.getId() + " not resident");
}
/**
* @see javax.servlet.http.HttpSession#getAttribute(java.lang.String)
*/
@Override
public Object getAttribute(String name)
{
@ -683,9 +662,6 @@ public class Session implements SessionHandler.SessionIf
}
}
/**
* @see javax.servlet.http.HttpSession#getValue(java.lang.String)
*/
@Override
@Deprecated(since = "Servlet API 2.2")
public Object getValue(String name)
@ -697,9 +673,6 @@ public class Session implements SessionHandler.SessionIf
}
}
/**
* @see javax.servlet.http.HttpSession#getAttributeNames()
*/
@Override
public Enumeration<String> getAttributeNames()
{
@ -758,10 +731,6 @@ public class Session implements SessionHandler.SessionIf
}
}
/**
* @see javax.servlet.http.HttpSession#setAttribute(java.lang.String,
* java.lang.Object)
*/
@Override
public void setAttribute(String name, Object value)
{
@ -778,10 +747,6 @@ public class Session implements SessionHandler.SessionIf
callSessionAttributeListeners(name, value, old);
}
/**
* @see javax.servlet.http.HttpSession#putValue(java.lang.String,
* java.lang.Object)
*/
@Override
@Deprecated(since = "Servlet API 2.2")
public void putValue(String name, Object value)
@ -789,18 +754,12 @@ public class Session implements SessionHandler.SessionIf
setAttribute(name, value);
}
/**
* @see javax.servlet.http.HttpSession#removeAttribute(java.lang.String)
*/
@Override
public void removeAttribute(String name)
{
setAttribute(name, null);
}
/**
* @see javax.servlet.http.HttpSession#removeValue(java.lang.String)
*/
@Override
@Deprecated(since = "Servlet API 2.1")
public void removeValue(String name)

Some files were not shown because too many files have changed in this diff Show More