Package com.soklet
package com.soklet
Core Soklet contracts and functionality.
Full documentation is available at https://www.soklet.com.
- Author:
- Mark Allen
-
ClassDescriptionReasons a connection attempt was rejected before a request or SSE connection could be established.Encapsulates non-preflight CORS HTTP request data.Contract for types that authorize CORS requests.Encapsulates CORS preflight-related HTTP request data.Response headers to send over the wire for CORS preflight requests.Builder used to construct instances of
CorsPreflightResponseviaCorsPreflightResponse.withAccessControlAllowOrigin(String).Builder used to copy instances ofCorsPreflightResponseviaCorsPreflightResponse.copy().Response headers to send over the wire for non-preflight CORS requests.Builder used to construct instances ofCorsResponseviaCorsResponse.withAccessControlAllowOrigin(String).Builder used to copy instances ofCorsResponseviaCorsResponse.copy().Represents the result of aServerSentEventSource"handshake".Type which indicates a successful Server-Sent Event handshake.Builder used to construct instances ofHandshakeResult.Accepted.Type which indicates a rejected Server-Sent Event handshake.Typesafe representation of HTTP request methods.IdGenerator<T>Contract for concrete instance generation given type information.Read-only hook methods for observing system and request lifecycle events.An informational "loggable" event that occurs during Soklet's internal processing - for example, if an error occurs while handling a request.Builder used to construct instances ofLogEventviaLogEvent.with(LogEventType, String).Builder used to copy instances ofLogEventviaLogEvent.copy().Kinds ofLogEventinstances that Soklet can produce.A finalized representation of aResponse, suitable for sending to clients over the wire.Builder used to construct instances ofMarshaledResponseviaMarshaledResponse.withResponse(Response)orMarshaledResponse.withStatusCode(Integer).Builder used to copy instances ofMarshaledResponseviaMarshaledResponse.copy().Contract for collecting operational metrics from Soklet.A thread-safe histogram with fixed bucket boundaries.Immutable snapshot of aMetricsCollector.Histogram.Text format to use forMetricsCollector.snapshotText(SnapshotTextOptions).Key for request read failures grouped by reason.Key for request rejections grouped by reason.Indicates whether a request was matched to aResourcePathDeclaration.Key for metrics grouped by HTTP method and route match information.Key for metrics grouped by HTTP method, route match information, and status class (e.g. 2xx).Key for metrics grouped by Server-Sent Event comment type, route match information, and drop reason.Key for metrics grouped by Server-Sent Event comment type, route match information, and enqueue outcome.Key for metrics grouped by Server-Sent Event comment type and route match information.Reasons a Server-Sent Event payload or comment was dropped before it could be written.Outcomes for a Server-Sent Event enqueue attempt.Key for metrics grouped by Server-Sent Event route match information and drop reason.Key for metrics grouped by Server-Sent Event route match information and enqueue outcome.Key for metrics grouped by Server-Sent Event route match information and handshake failure reason.Key for metrics grouped by Server-Sent Event route match information.Key for metrics grouped by Server-Sent Event route match information and termination reason.Immutable snapshot of collected metrics.Builder used to construct instances ofMetricsCollector.Snapshot.Options for rendering a textual metrics snapshot.Builder forMetricsCollector.SnapshotTextOptions.Supported histogram rendering strategies.A single text-format sample with its label set.Encapsulates an HTML form element name, binary andStringrepresentations of its value, and other attributes as encoded according to themultipart/form-dataspecification.Builder used to construct instances ofMultipartFieldviaMultipartField.withName(String)orMultipartField.with(String, byte[]).Builder used to copy instances ofMultipartFieldviaMultipartField.copy().Contract for parsing HTML form fields encoded according to themultipart/form-dataspecification.Represents a single HTTP header field value that includes a name and may include semicolon-delimited parameters - encoding rules per RFC specifications are strictly enforced.Builder used to construct instances ofParameterizedHeaderValueviaParameterizedHeaderValue.withName(String).A single header-value parameter: given a header value likeattachment; filename="resume.pdf"; filename*=UTF-8''r%C3%A9sum%C3%A9.pdf, there are twofilenameparameter name-value pairs.What type of header-value parameter this is:ParameterizedHeaderValue.ParameterType.TOKEN,ParameterizedHeaderValue.ParameterType.QUOTED, orParameterizedHeaderValue.ParameterType.RFC_8187.Strategies for encoding/decoding query strings:Content-Type: application/x-www-form-urlencoded(supports"+"for spaces) or "strict" RFC 3986 (percent-decoding only).Typesafe representation of HTTP Redirect types (301, 302, 303, 307, 308).Encapsulates information specified in an HTTP request.Builder used to copy instances ofRequestviaRequest.copy().Builder used to construct instances ofRequestviaRequest.withPath(HttpMethod, String).Builder used to construct instances ofRequestviaRequest.withRawUrl(HttpMethod, String).Contract for converting request body bytes into a corresponding Java type.Hook methods that can adjust Soklet's request processing flow.Reasons a request could not be read or parsed into a validRequest.Reasons an HTTP or SSE request was rejected before application-level handling began.Encapsulates the results of a request that would normally be handled by yourServer(both logical response and bytes to be sent over the wire), used for integration testing viaSimulator.performRequest(Request).Builder used to construct instances ofRequestResultviaRequestResult.withMarshaledResponse(MarshaledResponse).Builder used to copy instances ofRequestResultviaRequestResult.copy().Represents a Resource Method, which is a JavaMethodinvoked by Soklet to handle an HTTP request.Contract for determining parameter values to inject when invoking Resource Methods.Contract for matching incoming HTTP requests with appropriate Resource Methods (Java methods to invoke to handle requests).An HTTP URL path used to resolve a Resource Method at runtime, such as/users/123.A compile-time HTTP URL path declaration associated with an annotated Resource Method, such as/users/{userId}.Represents a/-delimited part of aResourcePathDeclaration.How to interpret aResourcePathDeclaration.Componentof aResourcePathDeclaration- is it literal text or a placeholder?Represents a logical HTTP response returned by a Resource Method.Builder used to construct instances ofResponseviaResponse.withStatusCode(Integer)orResponse.withRedirect(RedirectType, String).Builder used to copy instances ofResponseviaResponse.copy().HTTP "response" Cookie representation which supportsSet-Cookieheader encoding.Builder used to construct instances ofResponseCookieviaResponseCookie.withName(String)orResponseCookie.with(String, String).Builder used to copy instances ofResponseCookieviaResponseCookie.copy().Represents thePriorityresponse cookie attribute.Values which control whether a response cookie is sent with cross-site requests, providing some protection against cross-site request forgery attacks (CSRF).Prepares responses for each request scenario Soklet supports (Resource Method, exception, CORS preflight, etc.)Builder used to construct a standard implementation ofResponseMarshaler.Function used to support pluggable implementations ofResponseMarshaler.forContentTooLarge(Request, ResourceMethod).Function used to support pluggable implementations ofResponseMarshaler.forCorsAllowed(Request, Cors, CorsResponse, MarshaledResponse).Function used to support pluggable implementations ofResponseMarshaler.forCorsPreflightAllowed(Request, CorsPreflight, CorsPreflightResponse).Function used to support pluggable implementations ofResponseMarshaler.forCorsPreflightRejected(Request, CorsPreflight).Function used to support pluggable implementations ofResponseMarshaler.forHead(Request, MarshaledResponse).Function used to support pluggable implementations ofResponseMarshaler.forMethodNotAllowed(Request, Set).Function used to support pluggable implementations ofResponseMarshaler.forNotFound(Request).Function used to support pluggable implementations ofResponseMarshaler.forOptions(Request, Set).Function used to support pluggable implementations ofResponseMarshaler.forOptionsSplat(Request).Function used to support a pluggable "post-process" hook for any final customization or processing before data goes over the wire.Function used to support pluggable implementations ofResponseMarshaler.forResourceMethod(Request, Response, ResourceMethod).Function used to support pluggable implementations ofResponseMarshaler.forServiceUnavailable(Request, ResourceMethod).Function used to support pluggable implementations ofResponseMarshaler.forThrowable(Request, Throwable, ResourceMethod).Contract for HTTP server implementations that are designed to be managed by aSokletinstance.Builder used to construct a standard implementation ofServer.Request/response processing contract forServerimplementations.Encapsulates a Server-Sent Event payload that can be sent across the wire to a client.Builder used to construct instances ofServerSentEventviaServerSentEvent.withEvent(String),ServerSentEvent.withData(String), orServerSentEvent.builder().Broadcasts a Server-Sent Event payload to all clients listening on aResourcePath.Encapsulates a Server-Sent Event comment payload and its comment type.Types of Server-Sent Event comments.Represents characteristics of a long-running connection that has been established with aServerSentEventServer.Categorizes why a Server-Sent Event handshake failed.Categorizes why a Server-Sent Event connection terminated.Sealed interface used bySimulator.performServerSentEventRequest(Request)during integration tests, which encapsulates the 3 logical outcomes for SSE connections: accepted handshake, rejected handshake, and general request failure.Represents the result of an SSE accepted handshake (connection stays open) when simulated bySimulator.performServerSentEventRequest(Request).Represents the result of an SSE rejected handshake (explicit rejection; connection closed) when simulated bySimulator.performServerSentEventRequest(Request).Represents the result of an SSE request failure (implicit rejection, e.g. an exception occurred; connection closed) when simulated bySimulator.performServerSentEventRequest(Request).A special HTTP server whose only purpose is to provide Server-Sent Event functionality.Builder used to construct a standard implementation ofServerSentEventServer.Request/response processing contract forServerSentEventServerimplementations.Unicasts a Server-Sent Event or comment payload to a specific client listening on aResourcePath.Types of servers supported by Soklet - currentlyServerType.STANDARD_HTTPandServerType.SERVER_SENT_EVENT.Events that might trigger aSokletinstance to shut down.Simulates server behavior of accepting a request and returning a response without touching the network, useful for writing integration tests.Soklet's main class - manages aServer(and optionally aServerSentEventServer) using the provided system configuration.Defines how a Soklet system is configured.Builder used to construct instances ofSokletConfig.Builder used to copy instances ofSokletConfig.Soklet's standard Annotation Processor which is used to generate lookup tables of Resource Method definitions at compile time as well as prevent usage errors that are detectable by static analysis.Formal enumeration of valid HTTP status codes.A non-instantiable collection of utility methods.Forwarded header trust policy.