Package org.eclipse.jetty.server
Class ResourceService
- java.lang.Object
-
- org.eclipse.jetty.server.ResourceService
-
public class ResourceService extends java.lang.Object
Abstract resource service, used by DefaultServlet and ResourceHandler
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
ResourceService.WelcomeFactory
-
Field Summary
Fields Modifier and Type Field Description private boolean
_acceptRanges
private HttpField
_cacheControl
private HttpContent.ContentFactory
_contentFactory
private boolean
_dirAllowed
private int
_encodingCacheSize
private boolean
_etags
private java.util.List<java.lang.String>
_gzipEquivalentFileExtensions
private boolean
_pathInfoOnly
private CompressedContentFormat[]
_precompressedFormats
private java.lang.String[]
_preferredEncodingOrder
private java.util.Map<java.lang.String,java.util.List<java.lang.String>>
_preferredEncodingOrderCache
private boolean
_redirectWelcome
private ResourceService.WelcomeFactory
_welcomeFactory
private static PreEncodedHttpField
ACCEPT_RANGES
private static Logger
LOG
-
Constructor Summary
Constructors Constructor Description ResourceService()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
doGet(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
private CompressedContentFormat
getBestPrecompressedContent(java.util.List<java.lang.String> preferredEncodings, java.util.Collection<CompressedContentFormat> availableFormats)
HttpField
getCacheControl()
HttpContent.ContentFactory
getContentFactory()
int
getEncodingCacheSize()
java.util.List<java.lang.String>
getGzipEquivalentFileExtensions()
CompressedContentFormat[]
getPrecompressedFormats()
private java.util.List<java.lang.String>
getPreferredEncodingOrder(javax.servlet.http.HttpServletRequest request)
ResourceService.WelcomeFactory
getWelcomeFactory()
private boolean
hasDefinedRange(java.util.Enumeration<java.lang.String> reqRanges)
boolean
isAcceptRanges()
boolean
isDirAllowed()
boolean
isEtags()
protected boolean
isGzippedContent(java.lang.String path)
boolean
isPathInfoOnly()
boolean
isRedirectWelcome()
protected void
notFound(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
protected boolean
passConditionalHeaders(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, HttpContent content)
protected void
putHeaders(javax.servlet.http.HttpServletResponse response, HttpContent content, long contentLength)
protected boolean
sendData(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, boolean include, HttpContent content, java.util.Enumeration<java.lang.String> reqRanges)
protected void
sendDirectory(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, Resource resource, java.lang.String pathInContext)
protected void
sendStatus(javax.servlet.http.HttpServletResponse response, int status, java.util.function.Supplier<java.lang.String> etag)
protected void
sendWelcome(HttpContent content, java.lang.String pathInContext, boolean endsWithSlash, boolean included, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
void
setAcceptRanges(boolean acceptRanges)
void
setCacheControl(HttpField cacheControl)
void
setContentFactory(HttpContent.ContentFactory contentFactory)
void
setDirAllowed(boolean dirAllowed)
void
setEncodingCacheSize(int encodingCacheSize)
void
setEtags(boolean etags)
void
setGzipEquivalentFileExtensions(java.util.List<java.lang.String> gzipEquivalentFileExtensions)
void
setPathInfoOnly(boolean pathInfoOnly)
void
setPrecompressedFormats(CompressedContentFormat[] precompressedFormats)
void
setRedirectWelcome(boolean redirectWelcome)
void
setWelcomeFactory(ResourceService.WelcomeFactory welcomeFactory)
-
-
-
Field Detail
-
LOG
private static final Logger LOG
-
ACCEPT_RANGES
private static final PreEncodedHttpField ACCEPT_RANGES
-
_contentFactory
private HttpContent.ContentFactory _contentFactory
-
_welcomeFactory
private ResourceService.WelcomeFactory _welcomeFactory
-
_acceptRanges
private boolean _acceptRanges
-
_dirAllowed
private boolean _dirAllowed
-
_redirectWelcome
private boolean _redirectWelcome
-
_precompressedFormats
private CompressedContentFormat[] _precompressedFormats
-
_preferredEncodingOrder
private java.lang.String[] _preferredEncodingOrder
-
_preferredEncodingOrderCache
private final java.util.Map<java.lang.String,java.util.List<java.lang.String>> _preferredEncodingOrderCache
-
_encodingCacheSize
private int _encodingCacheSize
-
_pathInfoOnly
private boolean _pathInfoOnly
-
_etags
private boolean _etags
-
_cacheControl
private HttpField _cacheControl
-
_gzipEquivalentFileExtensions
private java.util.List<java.lang.String> _gzipEquivalentFileExtensions
-
-
Method Detail
-
getContentFactory
public HttpContent.ContentFactory getContentFactory()
-
setContentFactory
public void setContentFactory(HttpContent.ContentFactory contentFactory)
-
getWelcomeFactory
public ResourceService.WelcomeFactory getWelcomeFactory()
-
setWelcomeFactory
public void setWelcomeFactory(ResourceService.WelcomeFactory welcomeFactory)
-
isAcceptRanges
public boolean isAcceptRanges()
-
setAcceptRanges
public void setAcceptRanges(boolean acceptRanges)
-
isDirAllowed
public boolean isDirAllowed()
-
setDirAllowed
public void setDirAllowed(boolean dirAllowed)
-
isRedirectWelcome
public boolean isRedirectWelcome()
-
setRedirectWelcome
public void setRedirectWelcome(boolean redirectWelcome)
-
getPrecompressedFormats
public CompressedContentFormat[] getPrecompressedFormats()
-
setPrecompressedFormats
public void setPrecompressedFormats(CompressedContentFormat[] precompressedFormats)
-
setEncodingCacheSize
public void setEncodingCacheSize(int encodingCacheSize)
-
getEncodingCacheSize
public int getEncodingCacheSize()
-
isPathInfoOnly
public boolean isPathInfoOnly()
-
setPathInfoOnly
public void setPathInfoOnly(boolean pathInfoOnly)
-
isEtags
public boolean isEtags()
-
setEtags
public void setEtags(boolean etags)
-
getCacheControl
public HttpField getCacheControl()
-
setCacheControl
public void setCacheControl(HttpField cacheControl)
-
getGzipEquivalentFileExtensions
public java.util.List<java.lang.String> getGzipEquivalentFileExtensions()
-
setGzipEquivalentFileExtensions
public void setGzipEquivalentFileExtensions(java.util.List<java.lang.String> gzipEquivalentFileExtensions)
-
doGet
public boolean doGet(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, java.io.IOException
- Throws:
javax.servlet.ServletException
java.io.IOException
-
getPreferredEncodingOrder
private java.util.List<java.lang.String> getPreferredEncodingOrder(javax.servlet.http.HttpServletRequest request)
-
getBestPrecompressedContent
private CompressedContentFormat getBestPrecompressedContent(java.util.List<java.lang.String> preferredEncodings, java.util.Collection<CompressedContentFormat> availableFormats)
-
sendWelcome
protected void sendWelcome(HttpContent content, java.lang.String pathInContext, boolean endsWithSlash, boolean included, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, java.io.IOException
- Throws:
javax.servlet.ServletException
java.io.IOException
-
isGzippedContent
protected boolean isGzippedContent(java.lang.String path)
-
hasDefinedRange
private boolean hasDefinedRange(java.util.Enumeration<java.lang.String> reqRanges)
-
notFound
protected void notFound(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws java.io.IOException
- Throws:
java.io.IOException
-
sendStatus
protected void sendStatus(javax.servlet.http.HttpServletResponse response, int status, java.util.function.Supplier<java.lang.String> etag) throws java.io.IOException
- Throws:
java.io.IOException
-
passConditionalHeaders
protected boolean passConditionalHeaders(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, HttpContent content) throws java.io.IOException
- Throws:
java.io.IOException
-
sendDirectory
protected void sendDirectory(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, Resource resource, java.lang.String pathInContext) throws java.io.IOException
- Throws:
java.io.IOException
-
sendData
protected boolean sendData(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, boolean include, HttpContent content, java.util.Enumeration<java.lang.String> reqRanges) throws java.io.IOException
- Throws:
java.io.IOException
-
putHeaders
protected void putHeaders(javax.servlet.http.HttpServletResponse response, HttpContent content, long contentLength)
-
-