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 TypeMethodDescriptionGet the currently configuredDefaultHeaders.NameValidator.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.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.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(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(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.
-