Package com.vaadin.flow.internal
Class ResponseWriter
- java.lang.Object
-
- com.vaadin.flow.internal.ResponseWriter
-
- All Implemented Interfaces:
Serializable
public class ResponseWriter extends Object implements Serializable
The class that handles writing the response data into the response.For internal use only. May be renamed or removed in a future release.
- Since:
- 1.0.
- Author:
- Vaadin Ltd
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description ResponseWriter(DeploymentConfiguration deploymentConfiguration)
Create a response writer with the given deployment configuration.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected boolean
acceptsBrotliResource(javax.servlet.http.HttpServletRequest request)
Returns whether it is ok to serve a Brotli version of the given resource.protected boolean
acceptsGzippedResource(javax.servlet.http.HttpServletRequest request)
Returns whether it is ok to serve a gzipped version of the given resource.void
writeResponseContents(String filenameWithPath, URL resourceUrl, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
Writes the contents and content type (if available) of the given resourceUrl to the response.
-
-
-
Constructor Detail
-
ResponseWriter
public ResponseWriter(DeploymentConfiguration deploymentConfiguration)
Create a response writer with the given deployment configuration.- Parameters:
deploymentConfiguration
- the deployment configuration to use, notnull
-
-
Method Detail
-
writeResponseContents
public void writeResponseContents(String filenameWithPath, URL resourceUrl, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws IOException
Writes the contents and content type (if available) of the given resourceUrl to the response.WARNING: note that this should not be used for a
resourceUrl
that represents a directory! For security reasons, the directory contents should not be ever written into theresponse
, and the implementation which is used for setting the content length relies onURLConnection.getContentLengthLong()
method which returns incorrect values for directories.- Parameters:
filenameWithPath
- the name of the file being sentresourceUrl
- the URL to the file, reported by the servlet containerrequest
- the request object to read fromresponse
- the response object to write to- Throws:
IOException
- if the servlet container threw an exception while locating the resource
-
acceptsGzippedResource
protected boolean acceptsGzippedResource(javax.servlet.http.HttpServletRequest request)
Returns whether it is ok to serve a gzipped version of the given resource.If this method returns true, the browser is ok with receiving a gzipped version of the resource. In other cases, an uncompressed file must be sent.
- Parameters:
request
- the request for the resource- Returns:
- true if the servlet should attempt to serve a gzipped version of the resource, false otherwise
-
acceptsBrotliResource
protected boolean acceptsBrotliResource(javax.servlet.http.HttpServletRequest request)
Returns whether it is ok to serve a Brotli version of the given resource.If this method returns true, the browser is ok with receiving a Brotli version of the resource. In other cases, an uncompressed or gzipped file must be sent.
- Parameters:
request
- the request for the resource- Returns:
- true if the servlet should attempt to serve a Brotli version of the resource, false otherwise
-
-