Top Description Inners Fields Constructors Methods
reactor.netty5.http.server

pack-priv Class HttpServerOperations

extends HttpOperations<HttpServerRequest, HttpServerResponse>
implements HttpServerRequest, HttpServerResponse
Class Inheritance
All Implemented Interfaces
reactor.netty5.http.server.HttpServerResponse, reactor.netty5.http.server.HttpServerInfos, reactor.netty5.http.HttpInfos, reactor.netty5.NettyOutbound, org.reactivestreams.Publisher, reactor.netty5.http.server.HttpServerRequest, reactor.netty5.NettyInbound
Known Direct Subclasses
reactor.netty5.http.server.HttpServerOperations.FailedHttpServerRequest, reactor.netty5.http.server.WebsocketServerOperations
Imports
java.io.IOException, java.net.InetSocketAddress, java.nio.file.Files, .Path, java.util.HashSet, .List, .Locale, .Map, .Objects, .Set, java.util.concurrent.atomic.AtomicLong, java.util.function.BiFunction, .BiPredicate, .Consumer, .Function, io.netty5.buffer.Buffer, io.netty5.channel.Channel, .ChannelFutureListeners, .ChannelHandlerContext, .ChannelOption, io.netty5.handler.codec.http.DefaultFullHttpResponse, .DefaultHttpResponse, .DefaultLastHttpContent, .EmptyLastHttpContent, .FullHttpRequest, .FullHttpResponse, .HttpContent, .HttpHeaderNames, .HttpHeaderValues, .HttpObject, .HttpMessage, .HttpMethod, .HttpRequest, .HttpResponse, .HttpResponseStatus, .HttpUtil, .HttpVersion, .LastHttpContent, .TooLongHttpHeaderException, .TooLongHttpLineException, io.netty5.handler.codec.http.headers.HttpCookiePair, .HttpHeaders, .DefaultHttpHeaders, .HttpSetCookie, io.netty.contrib.handler.codec.http.multipart.HttpData, .HttpPostRequestDecoder, io.netty5.handler.codec.http.websocketx.CloseWebSocketFrame, .WebSocketCloseStatus, io.netty5.handler.codec.http2.HttpConversionUtil, io.netty5.util.AsciiString, .Resource, io.netty5.util.concurrent.Future, .FutureListener, org.reactivestreams.Publisher, .Subscription, reactor.core.CoreSubscriber, reactor.core.publisher.Flux, .Mono, reactor.netty5.Connection, .ConnectionObserver, .FutureMono, .NettyOutbound, .NettyPipeline, reactor.netty5.channel.AbortedException, .ChannelOperations, reactor.netty5.http.HttpOperations, reactor.netty5.http.logging.HttpMessageArgProviderFactory, .HttpMessageLogFactory, reactor.netty5.http.websocket.WebsocketInbound, .WebsocketOutbound, reactor.util.Logger, .Loggers, reactor.util.annotation.Nullable, reactor.util.context.Context

Conversion between Netty types and Reactor types (HttpOperations.
Author
Stephane Maldini1

Nested and Inner Type Summary

Modifier and TypeClass and Description
pack-priv static class
pack-priv static class
pack-priv static class

Field Summary

Modifier and TypeField and Description
pack-priv final BiPredicate<HttpServerRequest, HttpServerResponse>
pack-priv final ConnectionInfo
pack-priv static final FullHttpResponse
pack-priv final ServerCookies
pack-priv volatile Context
pack-priv static final AsciiString
pack-priv final HttpServerFormDecoderProvider
pack-priv static final Logger
pack-priv final BiFunction<? super Mono<Void>, ? super Connection, ? extends Mono<Void>>
pack-priv final HttpRequest
pack-priv final HttpResponse
pack-priv Function<? super String, Map<String, String>>
pack-priv String
pack-priv final HttpHeaders
pack-priv final String
pack-priv Consumer<? super HttpHeaders>

Constructor Summary

AccessConstructor and Description
pack-priv
pack-priv
HttpServerOperations(Connection c, ConnectionObserver listener, HttpRequest nettyRequest, BiPredicate<HttpServerRequest, HttpServerResponse> compressionPredicate, ConnectionInfo connectionInfo, HttpServerFormDecoderProvider formDecoderProvider, HttpMessageLogFactory httpMessageLogFactory, BiFunction<? super Mono<Void>, ? super Connection, ? extends Mono<Void>> mapHandle, boolean secured)

pack-priv
HttpServerOperations(Connection c, ConnectionObserver listener, HttpRequest nettyRequest, BiPredicate<HttpServerRequest, HttpServerResponse> compressionPredicate, ConnectionInfo connectionInfo, HttpServerFormDecoderProvider formDecoderProvider, HttpMessageLogFactory httpMessageLogFactory, BiFunction<? super Mono<Void>, ? super Connection, ? extends Mono<Void>> mapHandle, boolean resolvePath, boolean secured)

Method Summary

Modifier and TypeMethod and Description
public HttpServerResponse
public HttpServerResponse
addHeader(CharSequence
header name
name
,
CharSequence
header value
value
)

Implements reactor.netty5.http.server.HttpServerResponse.addHeader.

Adds an outbound HTTP header, appending the value if the header already exist.
protected void
public Map<CharSequence, List<HttpCookiePair>>
allCookies()

Implements reactor.netty5.http.server.HttpServerInfos.allCookies.

Returns resolved HTTP cookies.
protected void
public HttpServerOperations
chunkedTransfer(boolean
true if Transfer-Encoding: chunked
chunked
)

Implements reactor.netty5.http.server.HttpServerResponse.chunkedTransfer.

Sets Transfer-Encoding header
pack-priv static void
public HttpServerResponse
compression(boolean
should handle compression
compress
)

Implements reactor.netty5.http.server.HttpServerResponse.compression.

Enables/Disables compression handling (gzip/deflate) for the underlying response
public Map<CharSequence, Set<HttpCookiePair>>
cookies()

Implements reactor.netty5.http.server.HttpServerInfos.cookies.

Returns resolved HTTP cookies.
public Context
currentContext()

Overrides reactor.netty5.channel.ChannelOperations.currentContext.

Overrides default reactor.core.CoreSubscriber.currentContext.

Request a Context from dependent components which can include downstream operators during subscribing or a terminal org.reactivestreams.Subscriber.
public String
fullPath()

Implements reactor.netty5.http.HttpInfos.fullPath.

Returns the decoded path portion from the uri()
public HttpServerResponse
header(CharSequence
headers key
name
,
CharSequence
header value
value
)

Implements reactor.netty5.http.server.HttpServerResponse.header.

Sets an outbound HTTP header, replacing any pre-existing value.
public HttpServerResponse
headers(HttpHeaders
netty headers map
headers
)

Implements reactor.netty5.http.server.HttpServerResponse.headers.

Sets outbound HTTP headers, replacing any pre-existing value for these headers.
public InetSocketAddress
hostAddress()

Implements reactor.netty5.http.server.HttpServerRequest.hostAddress.

Returns the address of the host peer or null in case of Unix Domain Sockets.
public boolean
isFormUrlencoded()

Implements reactor.netty5.http.server.HttpServerRequest.isFormUrlencoded.

Returns true if the request has Content-Type with value application/x-www-form-urlencoded.
pack-priv final boolean
public boolean
isKeepAlive()

Implements reactor.netty5.http.HttpInfos.isKeepAlive.

Is the request keep alive
public boolean
isMultipart()

Implements reactor.netty5.http.server.HttpServerRequest.isMultipart.

Returns true if the request has Content-Type with value multipart/form-data.
public boolean
isWebsocket()

Overrides reactor.netty5.http.HttpOperations.isWebsocket.

Implements reactor.netty5.http.HttpInfos.isWebsocket.

Returns true if websocket connection (upgraded)
public HttpServerResponse
keepAlive(boolean keepAlive)

Implements reactor.netty5.http.server.HttpServerResponse.keepAlive.

Sets the request keepAlive if true otherwise remove the existing connection keep alive header
public HttpMethod
method()

Implements reactor.netty5.http.HttpInfos.method.

Returns the resolved request method (HTTP 1.1 etc.)
protected HttpMessage
protected void
protected void
onInboundClose()

Overrides reactor.netty5.channel.ChannelOperations.onInboundClose.

React on inbound close (channel closed prematurely)
protected void
protected void
onOutboundComplete()

Overrides reactor.netty5.channel.ChannelOperations.onOutboundComplete.

React on inbound/outbound completion (last packet)
protected void
onOutboundError(Throwable
the Throwable cause
err
)

Overrides reactor.netty5.channel.ChannelOperations.onOutboundError.

There is no need of invoking discard(), the inbound will be canceled on channel inactive event if there is no subscriber available
protected HttpMessage
outboundHttpMessage()

Implements abstract reactor.netty5.http.HttpOperations.outboundHttpMessage.

Outbound Netty HttpMessage
public String
param(CharSequence
parameter name e.g. "param" in URI /test/{param}
key
)

Implements reactor.netty5.http.server.HttpServerRequest.param.

URI parameter captured via {} e.g. /test/{param}.
public Map<String, String>
params()

Implements reactor.netty5.http.server.HttpServerRequest.params.

Returns all URI parameters captured via {} e.g. /test/{param1}/{param2} as key/value map.
public HttpServerRequest
paramsResolver(Function<? super String, Map<String, String>>
a params resolver
paramsResolver
)

Implements reactor.netty5.http.server.HttpServerRequest.paramsResolver.

Specifies a params resolver.
public Flux<HttpData>
receiveForm()

Implements reactor.netty5.http.server.HttpServerRequest.receiveForm.

When the request is POST and have Content-Type with value application/x-www-form-urlencoded or multipart/form-data, returns a Flux of HttpData containing received Attribute/FileUpload.
public Flux<HttpData>
receiveForm(Consumer<HttpServerFormDecoderProvider.Builder>
HttpServerFormDecoderProvider.Builder for HTTP form decoder configuration
formDecoderBuilder
)

Implements reactor.netty5.http.server.HttpServerRequest.receiveForm.

When the request is POST and have Content-Type with value application/x-www-form-urlencoded or multipart/form-data, returns a Flux of HttpData containing received Attribute/FileUpload.
pack-priv final Flux<HttpData>
public Flux<?>
public InetSocketAddress
remoteAddress()

Implements reactor.netty5.http.server.HttpServerRequest.remoteAddress.

Returns the address of the remote peer or null in case of Unix Domain Sockets.
public HttpHeaders
pack-priv static long
public HttpHeaders
responseHeaders()

Implements reactor.netty5.http.server.HttpServerResponse.responseHeaders.

Returns the outbound HTTP headers, sent back to the clients
public String
scheme()

Implements reactor.netty5.http.server.HttpServerRequest.scheme.

Returns the current protocol scheme
public Mono<Void>
send()

Implements reactor.netty5.http.server.HttpServerResponse.send.

Sends the HTTP headers and empty content thus delimiting a full empty body http response.
pack-priv static void
sendDecodingFailures(ChannelHandlerContext ctx, ConnectionObserver listener, boolean secure, Throwable t, Object msg, HttpMessageLogFactory httpMessageLogFactory)

public NettyOutbound
public NettyOutbound
sendHeaders()

Implements reactor.netty5.http.server.HttpServerResponse.sendHeaders.

Returns a NettyOutbound successful on committed response
public Mono<Void>
public Mono<Void>
sendRedirect(String
the location to redirect to
location
)

Implements reactor.netty5.http.server.HttpServerResponse.sendRedirect.

Sends redirect status HttpResponseStatus#FOUND along with a location header to the remote client.
public Mono<Void>
sendWebsocket(BiFunction<? super WebsocketInbound, ? super WebsocketOutbound, ? extends Publisher<Void>>
the I/O handler for websocket transport
websocketHandler
,
WebsocketServerSpec
WebsocketServerSpec for websocket configuration
configurer
)

Implements reactor.netty5.http.server.HttpServerResponse.sendWebsocket.

Upgrades the connection to websocket.
public HttpServerResponse

Returns:

the Transfer setting SSE for this http connection (e.g. event-stream)
sse
()

Implements reactor.netty5.http.server.HttpServerResponse.sse.

Adds "text/event-stream" content-type for Server-Sent Events
public HttpResponseStatus
status()

Implements reactor.netty5.http.server.HttpServerResponse.status.

Returns the assigned HTTP status
public HttpServerResponse
status(HttpResponseStatus
an HTTP status to be sent along with the headers
status
)

Implements reactor.netty5.http.server.HttpServerResponse.status.

Sets an HTTP status to be sent along with the headers
public HttpServerResponse
trailerHeaders(Consumer<? super HttpHeaders>
netty headers map
trailerHeaders
)

Implements reactor.netty5.http.server.HttpServerResponse.trailerHeaders.

Callback for setting outbound trailer headers.
public String
uri()

Implements reactor.netty5.http.HttpInfos.uri.

Returns the resolved target address
public HttpVersion
version()

Implements reactor.netty5.http.HttpInfos.version.

Returns the resolved request version (HTTP 1.1 etc)
public HttpServerOperations
pack-priv final Mono<Void>
withWebsocketSupport(String url, WebsocketServerSpec websocketServerSpec, BiFunction<? super WebsocketInbound, ? super WebsocketOutbound, ? extends Publisher<Void>> websocketHandler)

Inherited from reactor.netty5.http.HttpOperations:
addHandlerFirstaddHandlerLastasDebugLogMessagehasSentHeadershttpMessageLogFactoryinitShortIdmarkSentBodymarkSentHeaderAndBodymarkSentHeadersreceiverequestIdresolvePathsendsendFilesendObjectthentoString