Top Description Inners Fields Constructors Methods
io.undertow.server.handlers

public Class ForwardedHandler

extends Object
implements HttpHandler
Class Inheritance
All Implemented Interfaces
io.undertow.server.HttpHandler
Imports
io.undertow.UndertowLogger, io.undertow.server.HandlerWrapper, .HttpHandler, .HttpServerExchange, io.undertow.server.handlers.builder.HandlerBuilder, io.undertow.util.HeaderValues, .Headers, .NetworkUtils, java.net.InetSocketAddress, java.util.Collections, .HashMap, .Locale, .Map, .Set

Handler that implements rfc7239 Forwarded header
Author
Stuart Douglas

Nested and Inner Type Summary

Modifier and TypeClass and Description
public static class
private static enum
pack-priv static enum
private static class

Field Summary

Modifier and TypeField and Description
public static final String
private static final String
private static final boolean
public static final String
public static final String
private final boolean
private final HttpHandler
public static final String
private static final Map<String, ForwardedHandler.Token>
private static final String

Constructor Summary

AccessConstructor and Description
public
public
ForwardedHandler(HttpHandler next, boolean isChangeLocalAddrPort)

Method Summary

Modifier and TypeMethod and Description
public void
handleRequest(HttpServerExchange
the HTTP request/response exchange
exchange
)

Implements io.undertow.server.HttpHandler.handleRequest.

Handle the request.

pack-priv static InetSocketAddress
pack-priv static void
parseHeader(final String header, Map<ForwardedHandler.Token, String> response)

private static int
parsePort(String substring)

public String
toString()

Overrides java.lang.Object.toString.

Returns a string representation of the object.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAllwaitwaitwait

Field Detail

BYback to summary
public static final String BY
CHANGE_LOCAL_ADDR_PORTback to summary
private static final String CHANGE_LOCAL_ADDR_PORT
DEFAULT_CHANGE_LOCAL_ADDR_PORTback to summary
private static final boolean DEFAULT_CHANGE_LOCAL_ADDR_PORT
FORback to summary
public static final String FOR
HOSTback to summary
public static final String HOST
isChangeLocalAddrPortback to summary
private final boolean isChangeLocalAddrPort
nextback to summary
private final HttpHandler next
PROTOback to summary
public static final String PROTO
TOKENSback to summary
private static final Map<String, ForwardedHandler.Token> TOKENS
UNKNOWNback to summary
private static final String UNKNOWN

Constructor Detail

ForwardedHandlerback to summary
public ForwardedHandler(HttpHandler next)
ForwardedHandlerback to summary
public ForwardedHandler(HttpHandler next, boolean isChangeLocalAddrPort)

Method Detail

handleRequestback to summary
public void handleRequest(HttpServerExchange exchange) throws Exception

Implements io.undertow.server.HttpHandler.handleRequest.

Doc from io.undertow.server.HttpHandler.handleRequest.

Handle the request.

Parameters
exchange:HttpServerExchange

the HTTP request/response exchange

Annotations
@Override
parseAddressback to summary
pack-priv static InetSocketAddress parseAddress(String address)
parseHeaderback to summary
pack-priv static void parseHeader(final String header, Map<ForwardedHandler.Token, String> response)
parsePortback to summary
private static int parsePort(String substring)
toStringback to summary
public String toString()

Overrides java.lang.Object.toString.

Doc from java.lang.Object.toString.

Returns a string representation of the object. Satisfying this method's contract implies a non-null result must be returned.

Returns:String

a string representation of the object

Annotations
@Override
io.undertow.server.handlers back to summary

public Class ForwardedHandler.Builder

extends Object
implements HandlerBuilder
Class Inheritance
All Implemented Interfaces
io.undertow.server.handlers.builder.HandlerBuilder

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public HandlerWrapper
build(Map<String, Object>
The handler config
config
)

Implements io.undertow.server.handlers.builder.HandlerBuilder.build.

Creates the handler

public String
public String
name()

Implements io.undertow.server.handlers.builder.HandlerBuilder.name.

The string representation of the handler name.

public Map<String, Class<?>>
parameters()

Implements io.undertow.server.handlers.builder.HandlerBuilder.parameters.

Returns a map of parameters and their types.

public Set<String>
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Constructor Detail

Builderback to summary
public Builder()

Method Detail

buildback to summary
public HandlerWrapper build(Map<String, Object> config)

Implements io.undertow.server.handlers.builder.HandlerBuilder.build.

Doc from io.undertow.server.handlers.builder.HandlerBuilder.build.

Creates the handler

Parameters
config:Map<String, Object>

The handler config

Returns:HandlerWrapper

The new predicate

Annotations
@Override
defaultParameterback to summary
public String defaultParameter()

Implements io.undertow.server.handlers.builder.HandlerBuilder.defaultParameter.

Returns:String

Doc from io.undertow.server.handlers.builder.HandlerBuilder.defaultParameter.

The default parameter name, or null if it does not have a default parameter

Annotations
@Override
nameback to summary
public String name()

Implements io.undertow.server.handlers.builder.HandlerBuilder.name.

Doc from io.undertow.server.handlers.builder.HandlerBuilder.name.

The string representation of the handler name.

Returns:String

The handler name

Annotations
@Override
parametersback to summary
public Map<String, Class<?>> parameters()

Implements io.undertow.server.handlers.builder.HandlerBuilder.parameters.

Doc from io.undertow.server.handlers.builder.HandlerBuilder.parameters.

Returns a map of parameters and their types.

Annotations
@Override
requiredParametersback to summary
public Set<String> requiredParameters()

Implements io.undertow.server.handlers.builder.HandlerBuilder.requiredParameters.

Returns:Set<String>

Doc from io.undertow.server.handlers.builder.HandlerBuilder.requiredParameters.

The required parameters

Annotations
@Override
io.undertow.server.handlers back to summary

private final Enum ForwardedHandler.SearchingFor

extends Enum<ForwardedHandler.SearchingFor>
Class Inheritance

Field Summary

Modifier and TypeField and Description
public static final ForwardedHandler.SearchingFor
public static final ForwardedHandler.SearchingFor
public static final ForwardedHandler.SearchingFor
public static final ForwardedHandler.SearchingFor
public static final ForwardedHandler.SearchingFor

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
public static ForwardedHandler.SearchingFor
public static ForwardedHandler.SearchingFor[]
Inherited from java.lang.Enum:
clonecompareTodescribeConstableequalsfinalizegetDeclaringClasshashCodenameordinaltoStringvalueOf

Field Detail

END_OF_VALUEback to summary
public static final ForwardedHandler.SearchingFor END_OF_VALUE
EQUALS_SIGNback to summary
public static final ForwardedHandler.SearchingFor EQUALS_SIGN
LAST_QUOTEback to summary
public static final ForwardedHandler.SearchingFor LAST_QUOTE
START_OF_NAMEback to summary
public static final ForwardedHandler.SearchingFor START_OF_NAME
START_OF_VALUEback to summary
public static final ForwardedHandler.SearchingFor START_OF_VALUE

Constructor Detail

SearchingForback to summary
private SearchingFor()

Method Detail

valueOfback to summary
public static ForwardedHandler.SearchingFor valueOf(String name)
valuesback to summary
public static ForwardedHandler.SearchingFor[] values()
io.undertow.server.handlers back to summary

pack-priv final Enum ForwardedHandler.Token

extends Enum<ForwardedHandler.Token>
Class Inheritance

Field Summary

Modifier and TypeField and Description
public static final ForwardedHandler.Token
public static final ForwardedHandler.Token
public static final ForwardedHandler.Token
public static final ForwardedHandler.Token

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
public static ForwardedHandler.Token
public static ForwardedHandler.Token[]
Inherited from java.lang.Enum:
clonecompareTodescribeConstableequalsfinalizegetDeclaringClasshashCodenameordinaltoStringvalueOf

Field Detail

BYback to summary
public static final ForwardedHandler.Token BY
FORback to summary
public static final ForwardedHandler.Token FOR
HOSTback to summary
public static final ForwardedHandler.Token HOST
PROTOback to summary
public static final ForwardedHandler.Token PROTO

Constructor Detail

Tokenback to summary
private Token()

Method Detail

valueOfback to summary
public static ForwardedHandler.Token valueOf(String name)
valuesback to summary
public static ForwardedHandler.Token[] values()
io.undertow.server.handlers back to summary

private Class ForwardedHandler.Wrapper

extends Object
implements HandlerWrapper
Class Inheritance
All Implemented Interfaces
io.undertow.server.HandlerWrapper

Field Summary

Modifier and TypeField and Description
private final boolean

Constructor Summary

AccessConstructor and Description
private
Wrapper(boolean isChangeLocalAddrPort)

Method Summary

Modifier and TypeMethod and Description
public HttpHandler
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

isChangeLocalAddrPortback to summary
private final boolean isChangeLocalAddrPort

Constructor Detail

Wrapperback to summary
private Wrapper(boolean isChangeLocalAddrPort)

Method Detail

wrapback to summary
public HttpHandler wrap(HttpHandler handler)

Implements io.undertow.server.HandlerWrapper.wrap.

Annotations
@Override