Package io.micronaut.http
Class CaseInsensitiveMutableHttpHeaders
java.lang.Object
io.micronaut.http.CaseInsensitiveMutableHttpHeaders
- All Implemented Interfaces:
io.micronaut.core.convert.ConversionServiceAware,io.micronaut.core.convert.ConversionServiceProvider,io.micronaut.core.convert.value.ConvertibleMultiValues<String>,io.micronaut.core.convert.value.ConvertibleValues<List<String>>,io.micronaut.core.type.Headers,io.micronaut.core.type.MutableHeaders,io.micronaut.core.value.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
-
Field Summary
Fields inherited from interface io.micronaut.core.convert.value.ConvertibleValues
EMPTYFields 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_ALLOW_PRIVATE_NETWORK, ACCESS_CONTROL_EXPOSE_HEADERS, ACCESS_CONTROL_MAX_AGE, ACCESS_CONTROL_REQUEST_HEADERS, ACCESS_CONTROL_REQUEST_METHOD, ACCESS_CONTROL_REQUEST_PRIVATE_NETWORK, 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_TOKENFields inherited from interface io.micronaut.http.MutableHttpHeaders
GMT -
Constructor Summary
ConstructorsConstructorDescriptionCaseInsensitiveMutableHttpHeaders(boolean validate, io.micronaut.core.convert.ConversionService conversionService) Create an empty CaseInsensitiveMutableHttpHeaders.CaseInsensitiveMutableHttpHeaders(boolean validate, Map<String, List<String>> defaults, io.micronaut.core.convert.ConversionService conversionService) Create a CaseInsensitiveMutableHttpHeaders populated by the entries in the provided Map<String,String>.CaseInsensitiveMutableHttpHeaders(io.micronaut.core.convert.ConversionService conversionService) Create an empty CaseInsensitiveMutableHttpHeaders.CaseInsensitiveMutableHttpHeaders(Map<String, List<String>> defaults, io.micronaut.core.convert.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.@Nullable Stringget(CharSequence name) <T> Optional<T>get(CharSequence name, io.micronaut.core.convert.ArgumentConversionContext<T> conversionContext) getAll(CharSequence name) names()remove(CharSequence header) voidsetConversionService(io.micronaut.core.convert.ConversionService conversionService) values()Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.micronaut.core.convert.value.ConvertibleMultiValues
forEach, forEachValue, getFirst, getFirst, getFirst, getFirst, getFirst, isEmpty, iteratorMethods inherited from interface io.micronaut.core.convert.value.ConvertibleValues
asMap, asMap, asProperties, contains, getConversionService, getValue, getValueType, subMap, subMap, subMapMethods inherited from interface io.micronaut.http.HttpHeaders
accept, acceptCharset, acceptLanguage, contentLength, contentType, findAcceptCharset, findAcceptLanguage, findDate, findFirst, findInt, getAuthorization, getContentType, getDate, getInt, getOrigin, isKeepAliveMethods inherited from interface java.lang.Iterable
forEach, spliteratorMethods inherited from interface io.micronaut.http.MutableHttpHeaders
add, add, allow, allow, allowGeneric, auth, auth, contentType, date, date, expires, expires, ifModifiedSince, ifModifiedSince, lastModified, lastModified, location, setMethods inherited from interface io.micronaut.core.value.ValueResolver
get, get, get
-
Constructor Details
-
CaseInsensitiveMutableHttpHeaders
public CaseInsensitiveMutableHttpHeaders(io.micronaut.core.convert.ConversionService conversionService) Create an empty CaseInsensitiveMutableHttpHeaders.- Parameters:
conversionService- The conversion service
-
CaseInsensitiveMutableHttpHeaders
public CaseInsensitiveMutableHttpHeaders(boolean validate, io.micronaut.core.convert.ConversionService conversionService) Create an empty CaseInsensitiveMutableHttpHeaders.- Parameters:
validate- Whether to validate the headersconversionService- The conversion service
-
CaseInsensitiveMutableHttpHeaders
public CaseInsensitiveMutableHttpHeaders(Map<String, List<String>> defaults, io.micronaut.core.convert.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, io.micronaut.core.convert.ConversionService conversionService) Create a CaseInsensitiveMutableHttpHeaders populated by the entries in the provided Map<String,String>.Warning! Setting
validatetofalsewill 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
- Specified by:
getAllin interfaceio.micronaut.core.convert.value.ConvertibleMultiValues<String>
-
get
- Specified by:
getin interfaceio.micronaut.core.convert.value.ConvertibleMultiValues<String>
-
names
-
values
-
get
public <T> Optional<T> get(CharSequence name, io.micronaut.core.convert.ArgumentConversionContext<T> conversionContext) - Specified by:
getin interfaceio.micronaut.core.value.ValueResolver<CharSequence>
-
add
Description copied from interface:MutableHttpHeadersAdd a header for the given name and value.- Specified by:
addin interfaceio.micronaut.core.type.MutableHeaders- Specified by:
addin interfaceMutableHttpHeaders- Parameters:
header- The header namevalue- The value- Returns:
- This headers object
-
remove
- Specified by:
removein interfaceio.micronaut.core.type.MutableHeaders- Specified by:
removein interfaceMutableHttpHeaders
-
setConversionService
public void setConversionService(io.micronaut.core.convert.ConversionService conversionService) - Specified by:
setConversionServicein interfaceio.micronaut.core.convert.ConversionServiceAware
-