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:

  • Constructor Summary

    Constructors
    Constructor
    Description
    ResponseWriter(DeploymentConfiguration deploymentConfiguration)

    Create a response writer with the given deployment configuration.

  • Method Summary

    Modifier and Type
    Method
    Description
    protected boolean
    acceptsBrotliResource(jakarta.servlet.http.HttpServletRequest request)

    Returns whether it is ok to serve a Brotli version of the given resource.

    protected boolean
    acceptsGzippedResource(jakarta.servlet.http.HttpServletRequest request)

    Returns whether it is ok to serve a gzipped version of the given resource.

    void
    writeResponseContents(String filenameWithPath, URL resourceUrl, jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response)

    Writes the contents and content type (if available) of the given resourceUrl to the response.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • ResponseWriter

      public ResponseWriter(DeploymentConfiguration deploymentConfiguration)

      Create a response writer with the given deployment configuration.

      Parameters:

      deploymentConfiguration - the deployment configuration to use, not null

  • Method Details

    • writeResponseContents

      public void writeResponseContents(String filenameWithPath, URL resourceUrl, jakarta.servlet.http.HttpServletRequest request, jakarta.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 the response, and the implementation which is used for setting the content length relies on URLConnection.getContentLengthLong() method which returns incorrect values for directories.

      Parameters:

      filenameWithPath - the name of the file being sent

      resourceUrl - the URL to the file, reported by the servlet container

      request - the request object to read from

      response - the response object to write to

      Throws:

      IOException - if the servlet container threw an exception while locating the resource

    • acceptsGzippedResource

      protected boolean acceptsGzippedResource(jakarta.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(jakarta.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