diff options
author | Greg Wilkins | 2015-12-24 04:13:46 +0000 |
---|---|---|
committer | Greg Wilkins | 2015-12-24 04:13:46 +0000 |
commit | 30557429cf959d404b461be18bea2dd16650ee13 (patch) | |
tree | 6442aaac1e3d88b7b2d0395d8ae06e860c06a21d /jetty-server/src/main/java | |
parent | 3b49ed6d0a95cb2db2f57932afdba2dc2e292a5e (diff) | |
download | org.eclipse.jetty.project-30557429cf959d404b461be18bea2dd16650ee13.tar.gz org.eclipse.jetty.project-30557429cf959d404b461be18bea2dd16650ee13.tar.xz org.eclipse.jetty.project-30557429cf959d404b461be18bea2dd16650ee13.zip |
484801 Avoid non-cached memory mapped files
Diffstat (limited to 'jetty-server/src/main/java')
-rw-r--r-- | jetty-server/src/main/java/org/eclipse/jetty/server/handler/ResourceHandler.java | 40 |
1 files changed, 22 insertions, 18 deletions
diff --git a/jetty-server/src/main/java/org/eclipse/jetty/server/handler/ResourceHandler.java b/jetty-server/src/main/java/org/eclipse/jetty/server/handler/ResourceHandler.java index 9c2a72ab59..c8daf2643f 100644 --- a/jetty-server/src/main/java/org/eclipse/jetty/server/handler/ResourceHandler.java +++ b/jetty-server/src/main/java/org/eclipse/jetty/server/handler/ResourceHandler.java @@ -47,6 +47,7 @@ import org.eclipse.jetty.util.log.Log; import org.eclipse.jetty.util.log.Logger; import org.eclipse.jetty.util.resource.PathResource; import org.eclipse.jetty.util.resource.Resource; +import org.eclipse.jetty.util.resource.ResourceFactory; /* ------------------------------------------------------------ */ @@ -58,7 +59,7 @@ import org.eclipse.jetty.util.resource.Resource; * * */ -public class ResourceHandler extends HandlerWrapper +public class ResourceHandler extends HandlerWrapper implements ResourceFactory { private static final Logger LOG = Log.getLogger(ResourceHandler.class); @@ -67,12 +68,13 @@ public class ResourceHandler extends HandlerWrapper Resource _defaultStylesheet; Resource _stylesheet; String[] _welcomeFiles={"index.html"}; - MimeTypes _mimeTypes = new MimeTypes(); + MimeTypes _mimeTypes; String _cacheControl; boolean _directory; + boolean _gzip; boolean _etags; - int _minMemoryMappedContentLength=1024; - int _minAsyncContentLength=0; + int _minMemoryMappedContentLength=0; + int _minAsyncContentLength=16*1024; /* ------------------------------------------------------------ */ public ResourceHandler() @@ -179,7 +181,8 @@ public class ResourceHandler extends HandlerWrapper { Context scontext = ContextHandler.getCurrentContext(); _context = (scontext==null?null:scontext.getContextHandler()); - + _mimeTypes = _context==null?new MimeTypes():_context.getMimeTypes(); + super.doStart(); } @@ -297,24 +300,25 @@ public class ResourceHandler extends HandlerWrapper /* ------------------------------------------------------------ */ /* */ - public Resource getResource(String path) throws MalformedURLException + @Override + public Resource getResource(String path) { - if (path==null || !path.startsWith("/")) - throw new MalformedURLException(path); - if (LOG.isDebugEnabled()) LOG.debug("{} getResource({})",_context==null?_baseResource:_context,_baseResource,path); - - Resource base = _baseResource; - if (base==null) - { - if (_context==null) - return null; - return _context.getResource(path); - } + if (path==null || !path.startsWith("/")) + return null; + try { + Resource base = _baseResource; + if (base==null) + { + if (_context==null) + return null; + return _context.getResource(path); + } + path=URIUtil.canonicalPath(path); Resource r = base.addPath(path); if (r!=null && r.isAlias() && (_context==null || !_context.checkAlias(path, r))) @@ -327,7 +331,7 @@ public class ResourceHandler extends HandlerWrapper } catch(Exception e) { - LOG.ignore(e); + LOG.debug(e); } return null; |