Package org.glassfish.tyrus.core
Class RequestContext
- java.lang.Object
-
- org.glassfish.tyrus.spi.UpgradeRequest
-
- org.glassfish.tyrus.core.RequestContext
-
- All Implemented Interfaces:
HandshakeRequest
public final class RequestContext extends UpgradeRequest
Implementation of all possible request interfaces. Should be the only point of truth.- Author:
- Pavel Bucek
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classRequestContext.BuilderRequestContextbuilder.
-
Field Summary
-
Fields inherited from class org.glassfish.tyrus.spi.UpgradeRequest
AUTHORIZATION, CLUSTER_CONNECTION_ID_HEADER, CONNECTION, ENABLE_TRACING_HEADER, HOST, ORIGIN_HEADER, RESPONSE_CODE_MESSAGE, SEC_WS_ORIGIN_HEADER, SERVER_KEY_HASH, TRACING_THRESHOLD, UPGRADE, WEBSOCKET
-
Fields inherited from interface jakarta.websocket.server.HandshakeRequest
SEC_WEBSOCKET_EXTENSIONS, SEC_WEBSOCKET_KEY, SEC_WEBSOCKET_PROTOCOL, SEC_WEBSOCKET_VERSION
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.StringgetHeader(java.lang.String name)Returns the header value corresponding to the name.java.util.Map<java.lang.String,java.util.List<java.lang.String>>getHeaders()Get headers.java.lang.ObjectgetHttpSession()Return a reference to the HttpSession that the web socket handshake that started this conversation was part of, if the implementation is part of a Java EE web container.java.util.Map<java.lang.String,java.util.List<java.lang.String>>getParameterMap()Return the request parameters associated with the request.java.lang.StringgetQueryString()Return the query string associated with the request.java.lang.StringgetRemoteAddr()Get the Internet Protocol (IP) address of the client or last proxy that sent the request.java.lang.StringgetRequestUri()Get the undecoded request uri (up to the query string) of underlying HTTP handshake request.java.net.URIgetRequestURI()Return the request URI of the handshake request.java.security.PrincipalgetUserPrincipal()Return the authenticated user ornullif no user is authenticated for this handshake.booleanisSecure()Indicates whether this request was made using a secure channel (such as HTTPS).booleanisUserInRole(java.lang.String role)Checks whether the current user is in the given role.voidlock()Make headers and parameter map read-only.
-
-
-
Method Detail
-
getHeaders
public java.util.Map<java.lang.String,java.util.List<java.lang.String>> getHeaders()
Get headers.- Returns:
- headers map. List items are corresponding to header declaration in HTTP request.
-
getHeader
public java.lang.String getHeader(java.lang.String name)
Returns the header value corresponding to the name.- Specified by:
getHeaderin classUpgradeRequest- Parameters:
name- header name.- Returns:
Listof header values iff found,nullotherwise.
-
lock
public void lock()
Make headers and parameter map read-only.
-
getUserPrincipal
public java.security.Principal getUserPrincipal()
Description copied from interface:HandshakeRequestReturn the authenticated user ornullif no user is authenticated for this handshake.- Returns:
- the user principal.
-
getRequestURI
public java.net.URI getRequestURI()
Description copied from interface:HandshakeRequestReturn the request URI of the handshake request.- Returns:
- the request uri of the handshake request.
-
isUserInRole
public boolean isUserInRole(java.lang.String role)
Description copied from interface:HandshakeRequestChecks whether the current user is in the given role. Roles and role membership can be defined using deployment descriptors of the containing WAR file, if running in a Java EE web container. If the user has not been authenticated, the method returnsfalse.- Parameters:
role- the role being checked.- Returns:
- whether the authenticated user is in the role, or false if the user has not been authenticated.
-
getHttpSession
public java.lang.Object getHttpSession()
Description copied from interface:HandshakeRequestReturn a reference to the HttpSession that the web socket handshake that started this conversation was part of, if the implementation is part of a Java EE web container.- Returns:
- the http session or
nullif either the websocket implementation is not part of a Java EE web container, or there is no HttpSession associated with the opening handshake request.
-
getParameterMap
public java.util.Map<java.lang.String,java.util.List<java.lang.String>> getParameterMap()
Description copied from interface:HandshakeRequestReturn the request parameters associated with the request.- Returns:
- the unmodifiable map of the request parameters.
-
getQueryString
public java.lang.String getQueryString()
Description copied from interface:HandshakeRequestReturn the query string associated with the request.- Returns:
- the query string.
-
getRequestUri
public java.lang.String getRequestUri()
Description copied from class:UpgradeRequestGet the undecoded request uri (up to the query string) of underlying HTTP handshake request.- Specified by:
getRequestUriin classUpgradeRequest- Returns:
- request uri.
-
isSecure
public boolean isSecure()
Description copied from class:UpgradeRequestIndicates whether this request was made using a secure channel (such as HTTPS).- Specified by:
isSecurein classUpgradeRequest- Returns:
- true if the request was made using secure channel, false otherwise.
-
getRemoteAddr
public java.lang.String getRemoteAddr()
Get the Internet Protocol (IP) address of the client or last proxy that sent the request.- Returns:
- a
Stringcontaining the IP address of the client that sent the request ornullwhen method is called on client-side.
-
-