Home / Class/ HttpPostRequestDecoder Class — netty Architecture

HttpPostRequestDecoder Class — netty Architecture

Architecture documentation for the HttpPostRequestDecoder class in HttpPostRequestDecoder.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  c721ebe8_e2cd_7857_55b8_e866744b355e["HttpPostRequestDecoder"]
  767bb439_7391_060c_2f88_2a2d3a141d8e["HttpPostRequestDecoder.java"]
  c721ebe8_e2cd_7857_55b8_e866744b355e -->|defined in| 767bb439_7391_060c_2f88_2a2d3a141d8e
  f2643111_123c_888f_3323_9e0353413899["HttpPostRequestDecoder()"]
  c721ebe8_e2cd_7857_55b8_e866744b355e -->|method| f2643111_123c_888f_3323_9e0353413899
  136076e1_adfd_be7c_6691_8473add9df29["isMultipart()"]
  c721ebe8_e2cd_7857_55b8_e866744b355e -->|method| 136076e1_adfd_be7c_6691_8473add9df29
  af2ea126_3f54_0247_1e4c_14560b477a50["getMultipartDataBoundary()"]
  c721ebe8_e2cd_7857_55b8_e866744b355e -->|method| af2ea126_3f54_0247_1e4c_14560b477a50
  99cef239_b00d_264c_983d_f570b86daa39["setDiscardThreshold()"]
  c721ebe8_e2cd_7857_55b8_e866744b355e -->|method| 99cef239_b00d_264c_983d_f570b86daa39
  1126a0e1_b644_6595_de78_0f1ed97bf7c3["getDiscardThreshold()"]
  c721ebe8_e2cd_7857_55b8_e866744b355e -->|method| 1126a0e1_b644_6595_de78_0f1ed97bf7c3
  4118bfdc_5f72_b48f_3459_5d12c93e5202["getBodyHttpDatas()"]
  c721ebe8_e2cd_7857_55b8_e866744b355e -->|method| 4118bfdc_5f72_b48f_3459_5d12c93e5202
  d595cdd2_6519_819d_2980_b5153cb3e072["InterfaceHttpData()"]
  c721ebe8_e2cd_7857_55b8_e866744b355e -->|method| d595cdd2_6519_819d_2980_b5153cb3e072
  2da03c1a_b3e2_690f_7498_5b5ad102bfae["InterfaceHttpPostRequestDecoder()"]
  c721ebe8_e2cd_7857_55b8_e866744b355e -->|method| 2da03c1a_b3e2_690f_7498_5b5ad102bfae
  764fbfeb_b597_52c4_c991_fe867dfe647a["hasNext()"]
  c721ebe8_e2cd_7857_55b8_e866744b355e -->|method| 764fbfeb_b597_52c4_c991_fe867dfe647a
  bb9b9a9b_fa6a_2c12_2bec_f17a38b04301["destroy()"]
  c721ebe8_e2cd_7857_55b8_e866744b355e -->|method| bb9b9a9b_fa6a_2c12_2bec_f17a38b04301
  44e88c27_25b2_1885_c1fa_48dfd10a4a1e["cleanFiles()"]
  c721ebe8_e2cd_7857_55b8_e866744b355e -->|method| 44e88c27_25b2_1885_c1fa_48dfd10a4a1e
  ab03cf32_f9cd_f1ce_8fd3_d590224f2007["removeHttpDataFromClean()"]
  c721ebe8_e2cd_7857_55b8_e866744b355e -->|method| ab03cf32_f9cd_f1ce_8fd3_d590224f2007
  4fe3b4aa_c278_6cfa_8d8c_4f5013d85708["splitHeaderContentType()"]
  c721ebe8_e2cd_7857_55b8_e866744b355e -->|method| 4fe3b4aa_c278_6cfa_8d8c_4f5013d85708

Relationship Graph

Source Code

codec-http/src/main/java/io/netty/handler/codec/http/multipart/HttpPostRequestDecoder.java lines 36–410

public class HttpPostRequestDecoder implements InterfaceHttpPostRequestDecoder {

    static final int DEFAULT_DISCARD_THRESHOLD = 10 * 1024 * 1024;

    static final int DEFAULT_MAX_FIELDS = 128;

    static final int DEFAULT_MAX_BUFFERED_BYTES = 1024;

    private final InterfaceHttpPostRequestDecoder decoder;

    /**
     *
     * @param request
     *            the request to decode
     * @throws NullPointerException
     *             for request
     * @throws ErrorDataDecoderException
     *             if the default charset was wrong when decoding or other
     *             errors
     */
    public HttpPostRequestDecoder(HttpRequest request) {
        this(new DefaultHttpDataFactory(DefaultHttpDataFactory.MINSIZE), request, HttpConstants.DEFAULT_CHARSET);
    }

    /**
     *
     * @param request
     *            the request to decode
     * @param maxFields
     *            the maximum number of fields the form can have, {@code -1} to disable
     * @param maxBufferedBytes
     *            the maximum number of bytes the decoder can buffer when decoding a field, {@code -1} to disable
     * @throws NullPointerException
     *             for request
     * @throws ErrorDataDecoderException
     *             if the default charset was wrong when decoding or other
     *             errors
     */
    public HttpPostRequestDecoder(HttpRequest request, int maxFields, int maxBufferedBytes) {
        this(new DefaultHttpDataFactory(DefaultHttpDataFactory.MINSIZE), request, HttpConstants.DEFAULT_CHARSET,
             maxFields, maxBufferedBytes);
    }

    /**
     *
     * @param factory
     *            the factory used to create InterfaceHttpData
     * @param request
     *            the request to decode
     * @throws NullPointerException
     *             for request or factory
     * @throws ErrorDataDecoderException
     *             if the default charset was wrong when decoding or other
     *             errors
     */
    public HttpPostRequestDecoder(HttpDataFactory factory, HttpRequest request) {
        this(factory, request, HttpConstants.DEFAULT_CHARSET);
    }

    /**
     *
     * @param factory
     *            the factory used to create InterfaceHttpData
     * @param request
     *            the request to decode
     * @param charset
     *            the charset to use as default
     * @throws NullPointerException
     *             for request or charset or factory
     * @throws ErrorDataDecoderException
     *             if the default charset was wrong when decoding or other
     *             errors
     */
    public HttpPostRequestDecoder(HttpDataFactory factory, HttpRequest request, Charset charset) {
        ObjectUtil.checkNotNull(factory, "factory");
        ObjectUtil.checkNotNull(request, "request");
        ObjectUtil.checkNotNull(charset, "charset");

        // Fill default values
        if (isMultipart(request)) {
            decoder = new HttpPostMultipartRequestDecoder(factory, request, charset);

Frequently Asked Questions

What is the HttpPostRequestDecoder class?
HttpPostRequestDecoder is a class in the netty codebase, defined in codec-http/src/main/java/io/netty/handler/codec/http/multipart/HttpPostRequestDecoder.java.
Where is HttpPostRequestDecoder defined?
HttpPostRequestDecoder is defined in codec-http/src/main/java/io/netty/handler/codec/http/multipart/HttpPostRequestDecoder.java at line 36.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free