org.springframework.http.server.reactive

Class AbstractServerHttpRequest

  • java.lang.Object
    • org.springframework.http.server.reactive.AbstractServerHttpRequest
    • Field Summary

      Fields 
      Modifier and Type Field and Description
      protected Log logger 
    • Constructor Summary

      Constructors 
      Constructor and Description
      AbstractServerHttpRequest(java.net.URI uri, java.lang.String contextPath, HttpHeaders headers)
      Constructor with the URI and headers for the request.
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method and Description
      MultiValueMap<java.lang.String,HttpCookie> getCookies()
      Return a read-only map of cookies sent by the client.
      HttpHeaders getHeaders()
      Return the headers of this message.
      java.lang.String getId()
      Return an id that represents the underlying connection, if available, or the request for the purpose of correlating log messages.
      abstract <T> T getNativeRequest()
      Return the underlying server response.
      RequestPath getPath()
      Returns a structured representation of the request path including the context path + path within application portions, path segments with encoded and decoded values, and path parameters.
      MultiValueMap<java.lang.String,java.lang.String> getQueryParams()
      Return a read-only map with parsed and decoded query parameter values.
      SslInfo getSslInfo()
      Return the SSL session information if the request has been transmitted over a secure protocol including SSL certificates, if available.
      java.net.URI getURI()
      Return the URI of the request (including a query string if any, but only if it is well-formed for a URI representation).
      protected abstract MultiValueMap<java.lang.String,HttpCookie> initCookies()
      Obtain the cookies from the underlying "native" request and adapt those to an HttpCookie map.
      protected java.lang.String initId()
      Obtain the request id to use, or null in which case the Object identity of this request instance is used.
      protected MultiValueMap<java.lang.String,java.lang.String> initQueryParams()
      A method for parsing of the query into name-value pairs.
      protected abstract SslInfo initSslInfo()
      Obtain SSL session information from the underlying "native" request.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • logger

        protected final Log logger
    • Constructor Detail

      • AbstractServerHttpRequest

        public AbstractServerHttpRequest(java.net.URI uri,
                                         @Nullable
                                         java.lang.String contextPath,
                                         HttpHeaders headers)
        Constructor with the URI and headers for the request.
        Parameters:
        uri - the URI for the request
        contextPath - the context path for the request
        headers - the headers for the request
    • Method Detail

      • initId

        @Nullable
        protected java.lang.String initId()
        Obtain the request id to use, or null in which case the Object identity of this request instance is used.
        Since:
        5.1
      • getURI

        public java.net.URI getURI()
        Description copied from interface: HttpRequest
        Return the URI of the request (including a query string if any, but only if it is well-formed for a URI representation).
        Specified by:
        getURI in interface HttpRequest
        Returns:
        the URI of the request (never null)
      • getPath

        public RequestPath getPath()
        Description copied from interface: ServerHttpRequest
        Returns a structured representation of the request path including the context path + path within application portions, path segments with encoded and decoded values, and path parameters.
        Specified by:
        getPath in interface ServerHttpRequest
      • getHeaders

        public HttpHeaders getHeaders()
        Description copied from interface: HttpMessage
        Return the headers of this message.
        Specified by:
        getHeaders in interface HttpMessage
        Returns:
        a corresponding HttpHeaders object (never null)
      • initQueryParams

        protected MultiValueMap<java.lang.String,java.lang.String> initQueryParams()
        A method for parsing of the query into name-value pairs. The return value is turned into an immutable map and cached.

        Note that this method is invoked lazily on first access to getQueryParams(). The invocation is not synchronized but the parsing is thread-safe nevertheless.

      • initCookies

        protected abstract MultiValueMap<java.lang.String,HttpCookie> initCookies()
        Obtain the cookies from the underlying "native" request and adapt those to an HttpCookie map. The return value is turned into an immutable map and cached.

        Note that this method is invoked lazily on access to getCookies(). Sub-classes should synchronize cookie initialization if the underlying "native" request does not provide thread-safe access to cookie data.

      • getSslInfo

        @Nullable
        public SslInfo getSslInfo()
        Description copied from interface: ServerHttpRequest
        Return the SSL session information if the request has been transmitted over a secure protocol including SSL certificates, if available.
        Specified by:
        getSslInfo in interface ServerHttpRequest
        Returns:
        the session information, or null if none available
      • initSslInfo

        @Nullable
        protected abstract SslInfo initSslInfo()
        Obtain SSL session information from the underlying "native" request.
        Returns:
        the session information, or null if none available
        Since:
        5.0.2
      • getNativeRequest

        public abstract <T> T getNativeRequest()
        Return the underlying server response.

        Note: This is exposed mainly for internal framework use such as WebSocket upgrades in the spring-webflux module.