Home / Class/ HttpPostMultipartRequestDecoder Class — netty Architecture

HttpPostMultipartRequestDecoder Class — netty Architecture

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

Entity Profile

Dependency Diagram

graph TD
  d07408ef_0ab6_54bb_c64e_0b5b9a0aac25["HttpPostMultipartRequestDecoder"]
  102b4728_81a9_f291_31d1_895e5cf0208a["HttpPostMultipartRequestDecoder.java"]
  d07408ef_0ab6_54bb_c64e_0b5b9a0aac25 -->|defined in| 102b4728_81a9_f291_31d1_895e5cf0208a
  887d5ddf_26e1_f9b5_a625_97b956d435f5["HttpPostMultipartRequestDecoder()"]
  d07408ef_0ab6_54bb_c64e_0b5b9a0aac25 -->|method| 887d5ddf_26e1_f9b5_a625_97b956d435f5
  14bf4991_d6de_e4ce_7aff_b5869c6e502f["checkDestroyed()"]
  d07408ef_0ab6_54bb_c64e_0b5b9a0aac25 -->|method| 14bf4991_d6de_e4ce_7aff_b5869c6e502f
  c5f0b09e_ccbf_c58f_00c4_da20e8890f82["isMultipart()"]
  d07408ef_0ab6_54bb_c64e_0b5b9a0aac25 -->|method| c5f0b09e_ccbf_c58f_00c4_da20e8890f82
  9b22e9cc_96bb_7f14_c8f0_bdc5383a4f41["setDiscardThreshold()"]
  d07408ef_0ab6_54bb_c64e_0b5b9a0aac25 -->|method| 9b22e9cc_96bb_7f14_c8f0_bdc5383a4f41
  9bc16ef9_4e22_cae8_1c10_8f93f8927721["getDiscardThreshold()"]
  d07408ef_0ab6_54bb_c64e_0b5b9a0aac25 -->|method| 9bc16ef9_4e22_cae8_1c10_8f93f8927721
  25e7e0c2_2ac6_5fcc_6154_7a871578661b["getBodyHttpDatas()"]
  d07408ef_0ab6_54bb_c64e_0b5b9a0aac25 -->|method| 25e7e0c2_2ac6_5fcc_6154_7a871578661b
  44dc9a0e_9473_e766_e499_985b3abd1cad["InterfaceHttpData()"]
  d07408ef_0ab6_54bb_c64e_0b5b9a0aac25 -->|method| 44dc9a0e_9473_e766_e499_985b3abd1cad
  d282a827_fd04_465d_df04_25424c24feae["hasNext()"]
  d07408ef_0ab6_54bb_c64e_0b5b9a0aac25 -->|method| d282a827_fd04_465d_df04_25424c24feae
  3fa50808_52f7_aab6_fbe7_bc376895deaa["parseBody()"]
  d07408ef_0ab6_54bb_c64e_0b5b9a0aac25 -->|method| 3fa50808_52f7_aab6_fbe7_bc376895deaa
  79faf0e7_c2da_f1a1_c5fe_9f7506fec1a8["addHttpData()"]
  d07408ef_0ab6_54bb_c64e_0b5b9a0aac25 -->|method| 79faf0e7_c2da_f1a1_c5fe_9f7506fec1a8
  526b7cf1_8b49_d923_5992_f11e59d1c0d6["parseBodyMultipart()"]
  d07408ef_0ab6_54bb_c64e_0b5b9a0aac25 -->|method| 526b7cf1_8b49_d923_5992_f11e59d1c0d6
  59b6f7b4_1778_fb37_5bfa_e76f59f1834a["skipControlCharacters()"]
  d07408ef_0ab6_54bb_c64e_0b5b9a0aac25 -->|method| 59b6f7b4_1778_fb37_5bfa_e76f59f1834a
  2bfa51fb_e5b1_560b_58e4_d1bf91098ecc["skipControlCharactersStandard()"]
  d07408ef_0ab6_54bb_c64e_0b5b9a0aac25 -->|method| 2bfa51fb_e5b1_560b_58e4_d1bf91098ecc

Relationship Graph

Source Code

codec-http/src/main/java/io/netty/handler/codec/http/multipart/HttpPostMultipartRequestDecoder.java lines 55–1410

public class HttpPostMultipartRequestDecoder implements InterfaceHttpPostRequestDecoder {

    /**
     * Factory used to create InterfaceHttpData
     */
    private final HttpDataFactory factory;

    /**
     * Request to decode
     */
    private final HttpRequest request;

    /**
     * The maximum number of fields allows by the form
     */
    private final int maxFields;

    /**
     * The maximum number of accumulated bytes when decoding a field
     */
    private final int maxBufferedBytes;

    /**
     * Default charset to use
     */
    private Charset charset;

    /**
     * Does the last chunk already received
     */
    private boolean isLastChunk;

    /**
     * HttpDatas from Body
     */
    private final List<InterfaceHttpData> bodyListHttpData = new ArrayList<InterfaceHttpData>();

    /**
     * HttpDatas as Map from Body
     */
    private final Map<String, List<InterfaceHttpData>> bodyMapHttpData = new TreeMap<String, List<InterfaceHttpData>>(
            CaseIgnoringComparator.INSTANCE);

    /**
     * The current channelBuffer
     */
    private ByteBuf undecodedChunk;

    /**
     * Body HttpDatas current position
     */
    private int bodyListHttpDataRank;

    /**
     * If multipart, this is the boundary for the global multipart
     */
    private final String multipartDataBoundary;

    /**
     * If multipart, there could be internal multiparts (mixed) to the global
     * multipart. Only one level is allowed.
     */
    private String multipartMixedBoundary;

    /**
     * Current getStatus
     */
    private MultiPartStatus currentStatus = MultiPartStatus.NOTSTARTED;

    /**
     * Used in Multipart
     */
    private Map<CharSequence, Attribute> currentFieldAttributes;

    /**
     * The current FileUpload that is currently in decode process
     */
    private FileUpload currentFileUpload;

    /**
     * The current Attribute that is currently in decode process

Frequently Asked Questions

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

Analyze Your Own Codebase

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

Try Supermodel Free