Class ProxyRequestHandler
java.lang.Object
io.fluxzero.proxy.ProxyRequestHandler
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static classprotected classprotected static class -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Stringstatic final StringMaximum payload bytes per web request chunk whenREQUEST_CHUNKING_ENABLED_PROPERTYis enabled.static final StringEnables publishing large or unknown-length request bodies as chunked web request messages.static final String -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected booleanvoidclose()protected voidcompleteChunkedResponse(ProxyRequestHandler.ChunkedProxyRequest chunkedRequest, io.fluxzero.common.api.SerializedMessage response, Throwable error, io.fluxzero.sdk.web.WebRequest webRequest, ProxyRequestHandler.JettyExchange exchange) protected voidcompleteResponse(io.fluxzero.common.api.SerializedMessage response, Throwable error, io.fluxzero.sdk.web.WebRequest webRequest, ProxyRequestHandler.JettyExchange exchange) protected booleancorsOrigin(String origin) protected io.fluxzero.common.api.SerializedMessagecreateChunkedRequestMessage(io.fluxzero.sdk.web.WebRequest webRequest, byte[] chunk, long chunkIndex, boolean firstChunk, boolean finalChunk) protected ProxyRequestHandlercreateForNamespace(String namespace) protected io.fluxzero.sdk.web.WebRequestcreateWebRequest(ProxyRequestHandler.JettyExchange exchange, byte[] payload) protected ProxyRequestHandler.ChunkedProxyRequestdispatchReadableChunks(io.fluxzero.sdk.web.WebRequest webRequest, ProxyRequestHandler.ChunkAccumulator pending, boolean last, ProxyRequestHandler.ChunkedProxyRequest chunkedRequest) protected voiddoSendChunkedWebRequest(ProxyRequestHandler.JettyExchange exchange, io.fluxzero.sdk.web.WebRequest webRequest) protected voiddoSendWebRequest(ProxyRequestHandler.JettyExchange exchange, io.fluxzero.sdk.web.WebRequest webRequest) default ProxyRequestHandlerfinal ProxyRequestHandlerforNamespace(String arg0) booleanhandle(org.eclipse.jetty.server.Request request, org.eclipse.jetty.server.Response response, org.eclipse.jetty.util.Callback callback) protected booleanprotected voidhandleResponse(io.fluxzero.common.api.SerializedMessage responseMessage, io.fluxzero.sdk.web.WebRequest webRequest, ProxyRequestHandler.JettyExchange exchange) protected booleanprotected voidprepareForSending(io.fluxzero.common.api.SerializedMessage responseMessage, ProxyRequestHandler.JettyExchange exchange, int statusCode) protected voidreadChunkedWebRequest(ProxyRequestHandler.JettyExchange exchange, io.fluxzero.sdk.web.WebRequest webRequest) protected voidprotected voidprotected voidsendResolvedWebRequest(ProxyRequestHandler.JettyExchange exchange, io.fluxzero.sdk.web.WebRequest webRequest, boolean chunked) protected voidsendResponse(io.fluxzero.common.api.SerializedMessage responseMessage, ProxyRequestHandler.JettyExchange exchange) protected voidprotected voidsendWebRequest(ProxyRequestHandler.JettyExchange exchange, io.fluxzero.sdk.web.WebRequest webRequest, boolean chunked) protected booleanprotected io.fluxzero.sdk.web.WebRequesttryUpgrade(io.fluxzero.sdk.web.WebRequest webRequest)
-
Field Details
-
CORS_DOMAINS_PROPERTY
- See Also:
-
REQUEST_TIMEOUT_SECONDS_PROPERTY
- See Also:
-
REQUEST_CHUNKING_ENABLED_PROPERTY
Enables publishing large or unknown-length request bodies as chunked web request messages.Defaults to
falsefor backward compatibility with applications that still run older SDK clients.- See Also:
-
REQUEST_CHUNK_SIZE_PROPERTY
Maximum payload bytes per web request chunk whenREQUEST_CHUNKING_ENABLED_PROPERTYis enabled.- See Also:
-
-
Constructor Details
-
ProxyRequestHandler
public ProxyRequestHandler(io.fluxzero.sdk.configuration.client.Client client)
-
-
Method Details
-
createForNamespace
-
handle
public boolean handle(org.eclipse.jetty.server.Request request, org.eclipse.jetty.server.Response response, org.eclipse.jetty.util.Callback callback) -
createWebRequest
protected io.fluxzero.sdk.web.WebRequest createWebRequest(ProxyRequestHandler.JettyExchange exchange, byte[] payload) -
tryUpgrade
protected io.fluxzero.sdk.web.WebRequest tryUpgrade(io.fluxzero.sdk.web.WebRequest webRequest) -
knownRequestBodyTooLarge
-
shouldChunkRequest
-
handleCorsPreflight
-
applyCorsHeaders
-
corsOrigin
-
sendWebRequest
protected void sendWebRequest(ProxyRequestHandler.JettyExchange exchange, io.fluxzero.sdk.web.WebRequest webRequest, boolean chunked) -
sendResolvedWebRequest
protected void sendResolvedWebRequest(ProxyRequestHandler.JettyExchange exchange, io.fluxzero.sdk.web.WebRequest webRequest, boolean chunked) -
doSendWebRequest
protected void doSendWebRequest(ProxyRequestHandler.JettyExchange exchange, io.fluxzero.sdk.web.WebRequest webRequest) -
doSendChunkedWebRequest
protected void doSendChunkedWebRequest(ProxyRequestHandler.JettyExchange exchange, io.fluxzero.sdk.web.WebRequest webRequest) -
readChunkedWebRequest
protected void readChunkedWebRequest(ProxyRequestHandler.JettyExchange exchange, io.fluxzero.sdk.web.WebRequest webRequest) -
dispatchReadableChunks
protected ProxyRequestHandler.ChunkedProxyRequest dispatchReadableChunks(io.fluxzero.sdk.web.WebRequest webRequest, ProxyRequestHandler.ChunkAccumulator pending, boolean last, ProxyRequestHandler.ChunkedProxyRequest chunkedRequest) -
createChunkedRequestMessage
protected io.fluxzero.common.api.SerializedMessage createChunkedRequestMessage(io.fluxzero.sdk.web.WebRequest webRequest, byte[] chunk, long chunkIndex, boolean firstChunk, boolean finalChunk) -
completeChunkedResponse
protected void completeChunkedResponse(ProxyRequestHandler.ChunkedProxyRequest chunkedRequest, io.fluxzero.common.api.SerializedMessage response, Throwable error, io.fluxzero.sdk.web.WebRequest webRequest, ProxyRequestHandler.JettyExchange exchange) -
completeResponse
protected void completeResponse(io.fluxzero.common.api.SerializedMessage response, Throwable error, io.fluxzero.sdk.web.WebRequest webRequest, ProxyRequestHandler.JettyExchange exchange) -
handleResponse
protected void handleResponse(io.fluxzero.common.api.SerializedMessage responseMessage, io.fluxzero.sdk.web.WebRequest webRequest, ProxyRequestHandler.JettyExchange exchange) -
prepareForSending
protected void prepareForSending(io.fluxzero.common.api.SerializedMessage responseMessage, ProxyRequestHandler.JettyExchange exchange, int statusCode) -
sendResponse
protected void sendResponse(io.fluxzero.common.api.SerializedMessage responseMessage, ProxyRequestHandler.JettyExchange exchange) -
sendServerError
-
sendGatewayTimeout
-
sendRequestTimeout
-
close
public void close() -
forNamespace
-
forDefaultNamespace
-