public class FormHttpMessageReader extends LoggingCodecSupport implements HttpMessageReader<MultiValueMap<String,String>>
HttpMessageReader
to read HTML form data, i.e.
request body with media type "application/x-www-form-urlencoded"
.Modifier and Type | Field and Description |
---|---|
static Charset |
DEFAULT_CHARSET
The default charset used by the reader.
|
logger
Constructor and Description |
---|
FormHttpMessageReader() |
Modifier and Type | Method and Description |
---|---|
boolean |
canRead(ResolvableType elementType,
MediaType mediaType)
Whether the given object type is supported by this reader.
|
Charset |
getDefaultCharset()
Return the configured default charset.
|
int |
getMaxInMemorySize()
Return the
configured byte count limit. |
List<MediaType> |
getReadableMediaTypes()
Return the list of media types supported by this reader.
|
reactor.core.publisher.Flux<MultiValueMap<String,String>> |
read(ResolvableType elementType,
ReactiveHttpInputMessage message,
Map<String,Object> hints)
Read from the input message and decode to a stream of objects.
|
reactor.core.publisher.Mono<MultiValueMap<String,String>> |
readMono(ResolvableType elementType,
ReactiveHttpInputMessage message,
Map<String,Object> hints)
Read from the input message and decode to a single object.
|
void |
setDefaultCharset(Charset charset)
Set the default character set to use for reading form data when the
request Content-Type header does not explicitly specify it.
|
void |
setMaxInMemorySize(int byteCount)
Set the max number of bytes for input form data.
|
isEnableLoggingRequestDetails, setEnableLoggingRequestDetails
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getReadableMediaTypes, read, readMono
public static final Charset DEFAULT_CHARSET
public void setDefaultCharset(Charset charset)
By default this is set to "UTF-8".
public Charset getDefaultCharset()
public void setMaxInMemorySize(int byteCount)
DataBufferLimitException
is raised.
By default this is set to 256K.
byteCount
- the max number of bytes to buffer, or -1 for unlimitedpublic int getMaxInMemorySize()
configured
byte count limit.public boolean canRead(ResolvableType elementType, @Nullable MediaType mediaType)
HttpMessageReader
canRead
in interface HttpMessageReader<MultiValueMap<String,String>>
elementType
- the type of object to checkmediaType
- the media type for the read (possibly null
)true
if readable, false
otherwisepublic reactor.core.publisher.Flux<MultiValueMap<String,String>> read(ResolvableType elementType, ReactiveHttpInputMessage message, Map<String,Object> hints)
HttpMessageReader
read
in interface HttpMessageReader<MultiValueMap<String,String>>
elementType
- the type of objects in the stream which must have been
previously checked via HttpMessageReader.canRead(ResolvableType, MediaType)
message
- the message to read fromhints
- additional information about how to read and decode the inputpublic reactor.core.publisher.Mono<MultiValueMap<String,String>> readMono(ResolvableType elementType, ReactiveHttpInputMessage message, Map<String,Object> hints)
HttpMessageReader
readMono
in interface HttpMessageReader<MultiValueMap<String,String>>
elementType
- the type of objects in the stream which must have been
previously checked via HttpMessageReader.canRead(ResolvableType, MediaType)
message
- the message to read fromhints
- additional information about how to read and decode the inputpublic List<MediaType> getReadableMediaTypes()
HttpMessageReader
canWrite(elementType, null)
. The list may also exclude media types
supported only for a specific element type. Alternatively, use
HttpMessageReader.getReadableMediaTypes(ResolvableType)
for a more precise list.getReadableMediaTypes
in interface HttpMessageReader<MultiValueMap<String,String>>