Class GrpcWebServletResponse

java.lang.Object
jakarta.servlet.ServletResponseWrapper
jakarta.servlet.http.HttpServletResponseWrapper
io.grpc.servlet.jakarta.web.GrpcWebServletResponse
All Implemented Interfaces:
jakarta.servlet.http.HttpServletResponse, jakarta.servlet.ServletResponse

public class GrpcWebServletResponse extends jakarta.servlet.http.HttpServletResponseWrapper
Wraps the outgoing gRPC-web response in a way that lets the gRPC servlet/filter write normal gRPC payloads to it, and let them be translated to gRPC-web. Presently, this only means changing the content-type, and writing trailers as a streamed response.
  • Field Summary

    Fields inherited from interface jakarta.servlet.http.HttpServletResponse

    SC_ACCEPTED, SC_BAD_GATEWAY, SC_BAD_REQUEST, SC_CONFLICT, SC_CONTINUE, SC_CREATED, SC_EXPECTATION_FAILED, SC_FORBIDDEN, SC_FOUND, SC_GATEWAY_TIMEOUT, SC_GONE, SC_HTTP_VERSION_NOT_SUPPORTED, SC_INTERNAL_SERVER_ERROR, SC_LENGTH_REQUIRED, SC_METHOD_NOT_ALLOWED, SC_MOVED_PERMANENTLY, SC_MOVED_TEMPORARILY, SC_MULTIPLE_CHOICES, SC_NO_CONTENT, SC_NON_AUTHORITATIVE_INFORMATION, SC_NOT_ACCEPTABLE, SC_NOT_FOUND, SC_NOT_IMPLEMENTED, SC_NOT_MODIFIED, SC_OK, SC_PARTIAL_CONTENT, SC_PAYMENT_REQUIRED, SC_PRECONDITION_FAILED, SC_PROXY_AUTHENTICATION_REQUIRED, SC_REQUEST_ENTITY_TOO_LARGE, SC_REQUEST_TIMEOUT, SC_REQUEST_URI_TOO_LONG, SC_REQUESTED_RANGE_NOT_SATISFIABLE, SC_RESET_CONTENT, SC_SEE_OTHER, SC_SERVICE_UNAVAILABLE, SC_SWITCHING_PROTOCOLS, SC_TEMPORARY_REDIRECT, SC_UNAUTHORIZED, SC_UNSUPPORTED_MEDIA_TYPE, SC_USE_PROXY
  • Constructor Summary

    Constructors
    Constructor
    Description
    GrpcWebServletResponse(jakarta.servlet.http.HttpServletResponse response)
     
  • Method Summary

    Modifier and Type
    Method
    Description
     
     
     
    void
     
    void
     
    void
    writeTrailers(Runnable safelyComplete)
     

    Methods inherited from class jakarta.servlet.http.HttpServletResponseWrapper

    addCookie, addDateHeader, addHeader, addIntHeader, containsHeader, encodeRedirectUrl, encodeRedirectURL, encodeUrl, encodeURL, getHeader, getHeaderNames, getHeaders, getStatus, sendError, sendError, sendRedirect, setDateHeader, setHeader, setIntHeader, setStatus, setStatus

    Methods inherited from class jakarta.servlet.ServletResponseWrapper

    flushBuffer, getBufferSize, getCharacterEncoding, getContentType, getLocale, getResponse, isCommitted, isWrapperFor, isWrapperFor, reset, resetBuffer, setBufferSize, setCharacterEncoding, setContentLength, setContentLengthLong, setLocale, setResponse

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface jakarta.servlet.ServletResponse

    flushBuffer, getBufferSize, getCharacterEncoding, getContentType, getLocale, isCommitted, reset, resetBuffer, setBufferSize, setCharacterEncoding, setContentLength, setContentLengthLong, setLocale
  • Constructor Details

    • GrpcWebServletResponse

      public GrpcWebServletResponse(jakarta.servlet.http.HttpServletResponse response)
  • Method Details

    • setContentType

      public void setContentType(String type)
      Specified by:
      setContentType in interface jakarta.servlet.ServletResponse
      Overrides:
      setContentType in class jakarta.servlet.ServletResponseWrapper
    • setTrailerFields

      public void setTrailerFields(Supplier<Map<String,String>> supplier)
      Specified by:
      setTrailerFields in interface jakarta.servlet.http.HttpServletResponse
      Overrides:
      setTrailerFields in class jakarta.servlet.http.HttpServletResponseWrapper
    • getTrailerFields

      public Supplier<Map<String,String>> getTrailerFields()
      Specified by:
      getTrailerFields in interface jakarta.servlet.http.HttpServletResponse
      Overrides:
      getTrailerFields in class jakarta.servlet.http.HttpServletResponseWrapper
    • getOutputStream

      public GrpcWebOutputStream getOutputStream() throws IOException
      Specified by:
      getOutputStream in interface jakarta.servlet.ServletResponse
      Overrides:
      getOutputStream in class jakarta.servlet.ServletResponseWrapper
      Throws:
      IOException
    • getWriter

      public PrintWriter getWriter()
      Specified by:
      getWriter in interface jakarta.servlet.ServletResponse
      Overrides:
      getWriter in class jakarta.servlet.ServletResponseWrapper
    • writeTrailers

      public void writeTrailers(Runnable safelyComplete)