类 FormHttpMessageReader

java.lang.Object
cn.taketoday.http.codec.LoggingCodecSupport
cn.taketoday.http.codec.FormHttpMessageReader
所有已实现的接口:
HttpMessageReader<cn.taketoday.util.MultiValueMap<String,String>>

public class FormHttpMessageReader extends LoggingCodecSupport implements HttpMessageReader<cn.taketoday.util.MultiValueMap<String,String>>
Implementation of an HttpMessageReader to read HTML form data, i.e. request body with media type "application/x-www-form-urlencoded".
从以下版本开始:
4.0
作者:
Sebastien Deleuze, Rossen Stoyanchev
  • 字段详细资料

    • DEFAULT_CHARSET

      public static final Charset DEFAULT_CHARSET
      The default charset used by the reader.
    • MULTIVALUE_STRINGS_TYPE

      private static final cn.taketoday.core.ResolvableType MULTIVALUE_STRINGS_TYPE
    • defaultCharset

      private Charset defaultCharset
    • maxInMemorySize

      private int maxInMemorySize
  • 构造器详细资料

    • FormHttpMessageReader

      public FormHttpMessageReader()
  • 方法详细资料

    • setDefaultCharset

      public 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.

      By default this is set to "UTF-8".

    • getDefaultCharset

      public Charset getDefaultCharset()
      Return the configured default charset.
    • setMaxInMemorySize

      public void setMaxInMemorySize(int byteCount)
      Set the max number of bytes for input form data. As form data is buffered before it is parsed, this helps to limit the amount of buffering. Once the limit is exceeded, DataBufferLimitException is raised.

      By default this is set to 256K.

      参数:
      byteCount - the max number of bytes to buffer, or -1 for unlimited
    • getMaxInMemorySize

      public int getMaxInMemorySize()
      Return the configured byte count limit.
    • canRead

      public boolean canRead(cn.taketoday.core.ResolvableType elementType, @Nullable MediaType mediaType)
      从接口复制的说明: HttpMessageReader
      Whether the given object type is supported by this reader.
      指定者:
      canRead 在接口中 HttpMessageReader<cn.taketoday.util.MultiValueMap<String,String>>
      参数:
      elementType - the type of object to check
      mediaType - the media type for the read (possibly null)
      返回:
      true if readable, false otherwise
    • read

      public reactor.core.publisher.Flux<cn.taketoday.util.MultiValueMap<String,String>> read(cn.taketoday.core.ResolvableType elementType, ReactiveHttpInputMessage message, Map<String,Object> hints)
      从接口复制的说明: HttpMessageReader
      Read from the input message and decode to a stream of objects.
      指定者:
      read 在接口中 HttpMessageReader<cn.taketoday.util.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 from
      hints - additional information about how to read and decode the input
      返回:
      the decoded stream of elements
    • readMono

      public reactor.core.publisher.Mono<cn.taketoday.util.MultiValueMap<String,String>> readMono(cn.taketoday.core.ResolvableType elementType, ReactiveHttpInputMessage message, Map<String,Object> hints)
      从接口复制的说明: HttpMessageReader
      Read from the input message and decode to a single object.
      指定者:
      readMono 在接口中 HttpMessageReader<cn.taketoday.util.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 from
      hints - additional information about how to read and decode the input
      返回:
      the decoded object
    • logFormData

      private void logFormData(cn.taketoday.util.MultiValueMap<String,String> formData, Map<String,Object> hints)
    • getMediaTypeCharset

      private Charset getMediaTypeCharset(@Nullable MediaType mediaType)
    • parseFormData

      private cn.taketoday.util.MultiValueMap<String,String> parseFormData(Charset charset, String body)
    • getReadableMediaTypes

      public List<MediaType> getReadableMediaTypes()
      从接口复制的说明: HttpMessageReader
      Return the list of media types supported by this reader. The list may not apply to every possible target element type and calls to this method should typically be guarded via 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 在接口中 HttpMessageReader<cn.taketoday.util.MultiValueMap<String,String>>
      返回:
      the general list of supported media types