Class MessageContext
java.lang.Object
com.thetransactioncompany.jsonrpc2.server.MessageContext
Context information about JSON-RPC 2.0 request and notification messages.
This class is immutable.
- The client's hostname.
- The client's IP address.
- Whether the request / notification was transmitted securely (e.g. via HTTPS).
- The client principal(s) (user), if authenticated.
- Author:
- Vladimir Dzhuvinov
-
Nested Class Summary
-
Constructor Summary
ConstructorDescriptionCreates a new JSON-RPC 2.0 request / notification context.MessageContext
(String clientHostName, String clientInetAddress) Creates a new JSON-RPC 2.0 request / notification context.MessageContext
(String clientHostName, String clientInetAddress, boolean secure) Creates a new JSON-RPC 2.0 request / notification context.MessageContext
(String clientHostName, String clientInetAddress, boolean secure, String principalName) Creates a new JSON-RPC 2.0 request / notification context.MessageContext
(String clientHostName, String clientInetAddress, boolean secure, String[] principalNames) Creates a new JSON-RPC 2.0 request / notification context.MessageContext
(URLConnection connection) Creates a new JSON-RPC 2.0 request / notification context from the specified URL connection.MessageContext
(HttpServletRequest httpRequest) Creates a new JSON-RPC 2.0 request / notification context from the specified HTTP request. -
Method Summary
Modifier and TypeMethodDescriptionGets the hostname of the client that sent the request / notification.Gets the IP address of the client that sent the request / notification.Returns the first authenticated client principal,null
if none.Returns the first authenticated client principal name,null
if none.String[]
Returns the authenticated client principal names,null
if none.Returns the authenticated client principals,null
if none.boolean
isSecure()
Indicates whether the request / notification was received over a secure HTTPS connection.toString()
-
Constructor Details
-
MessageContext
public MessageContext(String clientHostName, String clientInetAddress, boolean secure, String principalName) Creates a new JSON-RPC 2.0 request / notification context.- Parameters:
clientHostName
- The client hostname,null
if unknown.clientInetAddress
- The client IP address,null
if unknown.secure
- Specifies a request received over HTTPS.principalName
- Specifies the authenticated client principle name,null
if unknown. The name must not be an empty or blank string.
-
MessageContext
public MessageContext(String clientHostName, String clientInetAddress, boolean secure, String[] principalNames) Creates a new JSON-RPC 2.0 request / notification context.- Parameters:
clientHostName
- The client hostname,null
if unknown.clientInetAddress
- The client IP address,null
if unknown.secure
- Specifies a request received over HTTPS.principalNames
- Specifies the authenticated client principle names,null
if unknown. The names must not be an empty or blank string.
-
MessageContext
Creates a new JSON-RPC 2.0 request / notification context. No authenticated client principal is specified.- Parameters:
clientHostName
- The client hostname,null
if unknown.clientInetAddress
- The client IP address,null
if unknown.secure
- Specifies a request received over HTTPS.
-
MessageContext
Creates a new JSON-RPC 2.0 request / notification context. Indicates an insecure transport (plain HTTP) and no authenticated client principal.- Parameters:
clientHostName
- The client hostname,null
if unknown.clientInetAddress
- The client IP address,null
if unknown.
-
MessageContext
public MessageContext()Creates a new JSON-RPC 2.0 request / notification context. Indicates an insecure transport (plain HTTP) and no authenticated client principal. Not client hostname / IP is specified. -
MessageContext
Creates a new JSON-RPC 2.0 request / notification context from the specified HTTP request.- Parameters:
httpRequest
- The HTTP request.
-
MessageContext
Creates a new JSON-RPC 2.0 request / notification context from the specified URL connection. Use this constructor in cases when the HTTP server is the origin of the JSON-RPC 2.0 requests / notifications. If the IP address of the HTTP server cannot be resolvedgetClientInetAddress()
will returnnull
.- Parameters:
connection
- The URL connection, must be established and notnull
.
-
-
Method Details
-
getClientHostName
Gets the hostname of the client that sent the request / notification.- Returns:
- The client hostname,
null
if unknown.
-
getClientInetAddress
Gets the IP address of the client that sent the request / notification.- Returns:
- The client IP address,
null
if unknown.
-
isSecure
public boolean isSecure()Indicates whether the request / notification was received over a secure HTTPS connection.- Returns:
true
If the request was received over HTTPS,false
if it was received over plain HTTP.
-
getPrincipal
Returns the first authenticated client principal,null
if none.- Returns:
- The first client principal,
null
if none.
-
getPrincipals
Returns the authenticated client principals,null
if none.- Returns:
- The client principals,
null
if none.
-
getPrincipalName
Returns the first authenticated client principal name,null
if none.- Returns:
- The first client principal name,
null
if none.
-
getPrincipalNames
Returns the authenticated client principal names,null
if none.- Returns:
- The client principal names,
null
if none.
-
toString
-