Class DefaultHttpHeadersFactory
- All Implemented Interfaces:
HttpHeadersFactory
HttpHeadersFactory instances, that itself implements HttpHeadersFactory.
The builder is immutable, and every with- method produce a new, modified instance.
The default builder you most likely want to start with is headersFactory().
-
Method Summary
Modifier and TypeMethodDescriptionio.netty.handler.codec.DefaultHeaders.NameValidator<CharSequence>Get the currently configuredDefaultHeaders.NameValidator.io.netty.handler.codec.DefaultHeaders.ValueValidator<CharSequence>Get the currently configuredDefaultHeaders.ValueValidator.static DefaultHttpHeadersFactoryGet the default implementation ofHttpHeadersFactoryfor creating headers.booleanCheck whether header combining is enabled or not.booleanCheck whether header name validation is enabled.booleanCheck whether header value validation is enabled.Create a newHttpHeadersinstance, but sized to be as small an object as possible.Create a newHttpHeadersinstance.static DefaultHttpHeadersFactoryGet the default implementation ofHttpHeadersFactoryfor creating trailers.withCombiningHeaders(boolean combiningHeaders) Create a new builder that will buildHttpHeadersobjects that either combine multi-valued headers, or not.withNameValidation(boolean validation) Create a new builder that has HTTP header name validation enabled or disabled.withNameValidator(io.netty.handler.codec.DefaultHeaders.NameValidator<CharSequence> validator) Create a new builder that with the givenDefaultHeaders.NameValidator.withValidation(boolean validation) Create a new builder that has HTTP header validation enabled or disabled.withValueValidation(boolean validation) Create a new builder that has HTTP header value validation enabled or disabled.withValueValidator(io.netty.handler.codec.DefaultHeaders.ValueValidator<CharSequence> validator) Create a new builder that with the givenDefaultHeaders.ValueValidator.
-
Method Details
-
headersFactory
Get the default implementation ofHttpHeadersFactoryfor creating headers.This
DefaultHttpHeadersFactorycreatesHttpHeadersinstances that has the recommended header validation enabled. -
trailersFactory
Get the default implementation ofHttpHeadersFactoryfor creating trailers.This
DefaultHttpHeadersFactorycreatesHttpHeadersinstances that has the validation enabled that is recommended for trailers. -
newHeaders
Description copied from interface:HttpHeadersFactoryCreate a newHttpHeadersinstance.- Specified by:
newHeadersin interfaceHttpHeadersFactory
-
newEmptyHeaders
Description copied from interface:HttpHeadersFactoryCreate a newHttpHeadersinstance, but sized to be as small an object as possible.- Specified by:
newEmptyHeadersin interfaceHttpHeadersFactory
-
withNameValidation
Create a new builder that has HTTP header name validation enabled or disabled.Warning! Setting
validationtofalsewill mean that Netty won't validate invalid input: '&' protect against user-supplied headers that are malicious. This can leave your server implementation vulnerable to CWE-113: Improper Neutralization of CRLF Sequences in HTTP Headers ('HTTP Response Splitting') . When disabling this validation, it is the responsibility of the caller to ensure that the values supplied do not contain a non-url-escaped carriage return (CR) and/or line feed (LF) characters.- Parameters:
validation- If validation should be enabled or disabled.- Returns:
- The new builder.
-
withNameValidator
public DefaultHttpHeadersFactory withNameValidator(io.netty.handler.codec.DefaultHeaders.NameValidator<CharSequence> validator) Create a new builder that with the givenDefaultHeaders.NameValidator.Warning! If the given validator does not check that the header names are standards compliant, Netty won't validate invalid input: '&' protect against user-supplied headers that are malicious. This can leave your server implementation vulnerable to CWE-113: Improper Neutralization of CRLF Sequences in HTTP Headers ('HTTP Response Splitting') . When disabling this validation, it is the responsibility of the caller to ensure that the values supplied do not contain a non-url-escaped carriage return (CR) and/or line feed (LF) characters.
- Parameters:
validator- The HTTP header name validator to use.- Returns:
- The new builder.
-
withValueValidation
Create a new builder that has HTTP header value validation enabled or disabled.Warning! Setting
validationtofalsewill mean that Netty won't validate invalid input: '&' protect against user-supplied headers that are malicious. This can leave your server implementation vulnerable to CWE-113: Improper Neutralization of CRLF Sequences in HTTP Headers ('HTTP Response Splitting') . When disabling this validation, it is the responsibility of the caller to ensure that the values supplied do not contain a non-url-escaped carriage return (CR) and/or line feed (LF) characters.- Parameters:
validation- If validation should be enabled or disabled.- Returns:
- The new builder.
-
withValueValidator
public DefaultHttpHeadersFactory withValueValidator(io.netty.handler.codec.DefaultHeaders.ValueValidator<CharSequence> validator) Create a new builder that with the givenDefaultHeaders.ValueValidator.Warning! If the given validator does not check that the header values are standards compliant, Netty won't validate invalid input: '&' protect against user-supplied headers that are malicious. This can leave your server implementation vulnerable to CWE-113: Improper Neutralization of CRLF Sequences in HTTP Headers ('HTTP Response Splitting') . When disabling this validation, it is the responsibility of the caller to ensure that the values supplied do not contain a non-url-escaped carriage return (CR) and/or line feed (LF) characters.
- Parameters:
validator- The HTTP header name validator to use.- Returns:
- The new builder.
-
withValidation
Create a new builder that has HTTP header validation enabled or disabled.Warning! Setting
validationtofalsewill mean that Netty won't validate invalid input: '&' protect against user-supplied headers that are malicious. This can leave your server implementation vulnerable to CWE-113: Improper Neutralization of CRLF Sequences in HTTP Headers ('HTTP Response Splitting') . When disabling this validation, it is the responsibility of the caller to ensure that the values supplied do not contain a non-url-escaped carriage return (CR) and/or line feed (LF) characters.- Parameters:
validation- If validation should be enabled or disabled.- Returns:
- The new builder.
-
withCombiningHeaders
Create a new builder that will buildHttpHeadersobjects that either combine multi-valued headers, or not.- Parameters:
combiningHeaders-trueif multi-valued headers should be combined, otherwisefalse.- Returns:
- The new builder.
-
getNameValidator
Get the currently configuredDefaultHeaders.NameValidator.This method will be used by the
newHeaders()method.- Returns:
- The configured name validator.
-
getValueValidator
Get the currently configuredDefaultHeaders.ValueValidator.This method will be used by the
newHeaders()method.- Returns:
- The configured value validator.
-
isCombiningHeaders
public boolean isCombiningHeaders()Check whether header combining is enabled or not.- Returns:
trueif header value combining is enabled, otherwisefalse.
-
isValidatingHeaderNames
public boolean isValidatingHeaderNames()Check whether header name validation is enabled.- Returns:
trueif header name validation is enabled, otherwisefalse.
-
isValidatingHeaderValues
public boolean isValidatingHeaderValues()Check whether header value validation is enabled.- Returns:
trueif header value validation is enabled, otherwisefalse.
-