Package io.micronaut.http
Class CaseInsensitiveMutableHttpHeaders
java.lang.Object
io.micronaut.http.CaseInsensitiveMutableHttpHeaders
- All Implemented Interfaces:
ConversionServiceAware
,ConversionServiceProvider
,ConvertibleMultiValues<String>
,ConvertibleValues<List<String>>
,Headers
,MutableHeaders
,ValueResolver<CharSequence>
,HttpHeaders
,MutableHttpHeaders
,Iterable<Map.Entry<String,
List<String>>>
@Internal
public final class CaseInsensitiveMutableHttpHeaders
extends Object
implements MutableHttpHeaders
A
MutableHttpHeaders
implementation that is case-insensitive.- Since:
- 4.0.0
- Author:
- Tim Yates
-
Field Summary
Fields inherited from interface io.micronaut.core.convert.value.ConvertibleValues
EMPTY
Fields inherited from interface io.micronaut.http.HttpHeaders
ACCEPT, ACCEPT_CH, ACCEPT_CH_LIFETIME, ACCEPT_CHARSET, ACCEPT_ENCODING, ACCEPT_LANGUAGE, ACCEPT_PATCH, ACCEPT_RANGES, ACCESS_CONTROL_ALLOW_CREDENTIALS, ACCESS_CONTROL_ALLOW_HEADERS, ACCESS_CONTROL_ALLOW_METHODS, ACCESS_CONTROL_ALLOW_ORIGIN, ACCESS_CONTROL_EXPOSE_HEADERS, ACCESS_CONTROL_MAX_AGE, ACCESS_CONTROL_REQUEST_HEADERS, ACCESS_CONTROL_REQUEST_METHOD, AGE, ALLOW, AUTHORIZATION, AUTHORIZATION_INFO, CACHE_CONTROL, CONNECTION, CONTENT_BASE, CONTENT_DISPOSITION, CONTENT_DPR, CONTENT_ENCODING, CONTENT_LANGUAGE, CONTENT_LENGTH, CONTENT_LOCATION, CONTENT_MD5, CONTENT_RANGE, CONTENT_TRANSFER_ENCODING, CONTENT_TYPE, COOKIE, CROSS_ORIGIN_RESOURCE_POLICY, DATE, DEVICE_MEMORY, DOWNLINK, DPR, ECT, ETAG, EXPECT, EXPIRES, FEATURE_POLICY, FORWARDED, FROM, HOST, IF_MATCH, IF_MODIFIED_SINCE, IF_NONE_MATCH, IF_RANGE, IF_UNMODIFIED_SINCE, LAST_MODIFIED, LINK, LOCATION, MAX_FORWARDS, ORIGIN, PRAGMA, PROXY_AUTHENTICATE, PROXY_AUTHORIZATION, RANGE, REFERER, REFERRER_POLICY, RETRY_AFTER, RTT, SAVE_DATA, SEC_WEBSOCKET_ACCEPT, SEC_WEBSOCKET_KEY, SEC_WEBSOCKET_KEY1, SEC_WEBSOCKET_KEY2, SEC_WEBSOCKET_LOCATION, SEC_WEBSOCKET_ORIGIN, SEC_WEBSOCKET_PROTOCOL, SEC_WEBSOCKET_VERSION, SERVER, SET_COOKIE, SET_COOKIE2, SOURCE_MAP, STANDARD_HEADERS, TE, TRAILER, TRANSFER_ENCODING, UPGRADE, USER_AGENT, VARY, VIA, VIEWPORT_WIDTH, WARNING, WEBSOCKET_LOCATION, WEBSOCKET_ORIGIN, WEBSOCKET_PROTOCOL, WIDTH, WWW_AUTHENTICATE, X_AUTH_TOKEN
Fields inherited from interface io.micronaut.http.MutableHttpHeaders
GMT
-
Constructor Summary
ConstructorDescriptionCaseInsensitiveMutableHttpHeaders
(boolean validate, ConversionService conversionService) Create an empty CaseInsensitiveMutableHttpHeaders.CaseInsensitiveMutableHttpHeaders
(boolean validate, Map<String, List<String>> defaults, ConversionService conversionService) Create a CaseInsensitiveMutableHttpHeaders populated by the entries in the provided Map<String,String>.CaseInsensitiveMutableHttpHeaders
(ConversionService conversionService) Create an empty CaseInsensitiveMutableHttpHeaders.CaseInsensitiveMutableHttpHeaders
(Map<String, List<String>> defaults, ConversionService conversionService) Create a CaseInsensitiveMutableHttpHeaders populated by the entries in the provided Map<String,String>. -
Method Summary
Modifier and TypeMethodDescriptionadd
(CharSequence header, CharSequence value) Add a header for the given name and value.get
(CharSequence name) Get a value without applying any conversion.<T> Optional<T>
get
(CharSequence name, ArgumentConversionContext<T> conversionContext) Resolve the given property for the given name.getAll
(CharSequence name) Get all the values for the given name without applying conversion.names()
remove
(CharSequence header) Removes a header.void
setConversionService
(ConversionService conversionService) Sets the conversion service.values()
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface io.micronaut.core.convert.value.ConvertibleMultiValues
forEach, forEachValue, getFirst, getFirst, getFirst, getFirst, getFirst, isEmpty, iterator
Methods inherited from interface io.micronaut.core.convert.value.ConvertibleValues
asMap, asMap, asProperties, contains, getConversionService, getValue, getValueType, subMap, subMap, subMap
Methods inherited from interface io.micronaut.http.HttpHeaders
accept, acceptCharset, acceptLanguage, contentLength, contentType, findDate, findFirst, findInt, getAuthorization, getContentType, getDate, getInt, getOrigin, isKeepAlive
Methods inherited from interface java.lang.Iterable
forEach, spliterator
Methods inherited from interface io.micronaut.http.MutableHttpHeaders
add, add, allow, allow, allowGeneric, auth, auth, contentType, date, date, expires, expires, ifModifiedSince, ifModifiedSince, lastModified, lastModified, location, set
Methods inherited from interface io.micronaut.core.value.ValueResolver
get, get, get
-
Constructor Details
-
CaseInsensitiveMutableHttpHeaders
Create an empty CaseInsensitiveMutableHttpHeaders.- Parameters:
conversionService
- The conversion service
-
CaseInsensitiveMutableHttpHeaders
Create an empty CaseInsensitiveMutableHttpHeaders.- Parameters:
validate
- Whether to validate the headersconversionService
- The conversion service
-
CaseInsensitiveMutableHttpHeaders
public CaseInsensitiveMutableHttpHeaders(Map<String, List<String>> defaults, ConversionService conversionService) Create a CaseInsensitiveMutableHttpHeaders populated by the entries in the provided Map<String,String>.- Parameters:
defaults
- The defaultsconversionService
- The conversion service
-
CaseInsensitiveMutableHttpHeaders
public CaseInsensitiveMutableHttpHeaders(boolean validate, Map<String, List<String>> defaults, ConversionService conversionService) Create a CaseInsensitiveMutableHttpHeaders populated by the entries in the provided Map<String,String>.Warning! Setting
validate
tofalse
will not validate header names and values, and can leave your server implementation vulnerable to CWE-113: Improper Neutralization of CRLF Sequences in HTTP Headers ('HTTP Response Splitting').- Parameters:
validate
- Whether to validate the headersdefaults
- The defaultsconversionService
- The conversion service
-
-
Method Details
-
getAll
Description copied from interface:ConvertibleMultiValues
Get all the values for the given name without applying conversion.- Specified by:
getAll
in interfaceConvertibleMultiValues<String>
- Parameters:
name
- The header name- Returns:
- All the values
-
get
Description copied from interface:ConvertibleMultiValues
Get a value without applying any conversion.- Specified by:
get
in interfaceConvertibleMultiValues<String>
- Parameters:
name
- The name of the value- Returns:
- The raw value or null
- See Also:
-
names
- Specified by:
names
in interfaceConvertibleValues<List<String>>
- Returns:
- The names of the values
-
values
- Specified by:
values
in interfaceConvertibleValues<List<String>>
- Returns:
- The values
-
get
Description copied from interface:ValueResolver
Resolve the given property for the given name.- Specified by:
get
in interfaceValueResolver<CharSequence>
- Type Parameters:
T
- The concrete type- Parameters:
name
- The nameconversionContext
- The conversion context- Returns:
- An optional containing the property value if it exists and is able to be converted
-
add
Description copied from interface:MutableHttpHeaders
Add a header for the given name and value.- Specified by:
add
in interfaceMutableHeaders
- Specified by:
add
in interfaceMutableHttpHeaders
- Parameters:
header
- The header namevalue
- The value- Returns:
- This headers object
-
remove
Description copied from interface:MutableHeaders
Removes a header.- Specified by:
remove
in interfaceMutableHeaders
- Specified by:
remove
in interfaceMutableHttpHeaders
- Parameters:
header
- The header to remove- Returns:
- These headers
-
setConversionService
Description copied from interface:ConversionServiceAware
Sets the conversion service.- Specified by:
setConversionService
in interfaceConversionServiceAware
- Parameters:
conversionService
- The conversion service
-