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 host name.
- The client's IP address.
- Whether the request / notification was transmitted securely (e.g. via HTTPS).
- The client principal(s) (user), if authenticated.
Nested Class Summary
Nested ClassesField Summary
FieldsModifier and TypeFieldDescriptionprivate StringThe client hostname,nullif none was specified.private StringThe client IP address,nullif none was specified.private Principal[]The authenticated client principals,nullif none were specified.private booleanIndicates whether the request was received over a secure channel (typically HTTPS).Constructor Summary
ConstructorsConstructorDescriptionCreates 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
All MethodsModifier and TypeMethodDescriptionGets the host name 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,nullif none.Returns the first authenticated client principal name,nullif none.String[]Returns the authenticated client principal names,nullif none.Returns the authenticated client principals,nullif none.booleanisSecure()Indicates whether the request / notification was received over a secure HTTPS connection.toString()
Field Details
clientHostName
The client hostname,nullif none was specified.clientInetAddress
The client IP address,nullif none was specified.secure
private boolean secureIndicates whether the request was received over a secure channel (typically HTTPS).principals
The authenticated client principals,nullif none were specified.
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 host name,nullif unknown.clientInetAddress- The client IP address,nullif unknown.secure- Specifies a request received over HTTPS.principalName- Specifies the authenticated client principle name,nullif 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 host name,nullif unknown.clientInetAddress- The client IP address,nullif unknown.secure- Specifies a request received over HTTPS.principalNames- Specifies the authenticated client principle names,nullif 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 host name,nullif unknown.clientInetAddress- The client IP address,nullif 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 host name,nullif unknown.clientInetAddress- The client IP address,nullif 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 host name / 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 host name of the client that sent the request / notification.- Returns:
- The client host name,
nullif unknown.
getClientInetAddress
Gets the IP address of the client that sent the request / notification.- Returns:
- The client IP address,
nullif unknown.
isSecure
public boolean isSecure()Indicates whether the request / notification was received over a secure HTTPS connection.- Returns:
trueIf the request was received over HTTPS,falseif it was received over plain HTTP.
getPrincipal
Returns the first authenticated client principal,nullif none.- Returns:
- The first client principal,
nullif none.
getPrincipals
Returns the authenticated client principals,nullif none.- Returns:
- The client principals,
nullif none.
getPrincipalName
Returns the first authenticated client principal name,nullif none.- Returns:
- The first client principal name,
nullif none.
getPrincipalNames
Returns the authenticated client principal names,nullif none.- Returns:
- The client principal names,
nullif none.
toString