Home / Function/ getMultipartDataBoundary() — netty Function Reference

getMultipartDataBoundary() — netty Function Reference

Architecture documentation for the getMultipartDataBoundary() function in HttpPostRequestDecoder.java from the netty codebase.

Function java ProtocolCodecs HTTP calls 2 called by 1

Entity Profile

Dependency Diagram

graph TD
  af2ea126_3f54_0247_1e4c_14560b477a50["getMultipartDataBoundary()"]
  c721ebe8_e2cd_7857_55b8_e866744b355e["HttpPostRequestDecoder"]
  af2ea126_3f54_0247_1e4c_14560b477a50 -->|defined in| c721ebe8_e2cd_7857_55b8_e866744b355e
  136076e1_adfd_be7c_6691_8473add9df29["isMultipart()"]
  136076e1_adfd_be7c_6691_8473add9df29 -->|calls| af2ea126_3f54_0247_1e4c_14560b477a50
  4fe3b4aa_c278_6cfa_8d8c_4f5013d85708["splitHeaderContentType()"]
  af2ea126_3f54_0247_1e4c_14560b477a50 -->|calls| 4fe3b4aa_c278_6cfa_8d8c_4f5013d85708
  5ea1ac92_3b5e_d82c_e1f7_4e44ab80a989["ErrorDataDecoderException()"]
  af2ea126_3f54_0247_1e4c_14560b477a50 -->|calls| 5ea1ac92_3b5e_d82c_e1f7_4e44ab80a989
  style af2ea126_3f54_0247_1e4c_14560b477a50 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

codec-http/src/main/java/io/netty/handler/codec/http/multipart/HttpPostRequestDecoder.java lines 206–244

    protected static String[] getMultipartDataBoundary(String contentType) {
        // Check if Post using "multipart/form-data; boundary=--89421926422648 [; charset=xxx]"
        String[] headerContentType = splitHeaderContentType(contentType);
        final String multiPartHeader = HttpHeaderValues.MULTIPART_FORM_DATA.toString();
        if (headerContentType[0].regionMatches(true, 0, multiPartHeader, 0 , multiPartHeader.length())) {
            int mrank;
            int crank;
            final String boundaryHeader = HttpHeaderValues.BOUNDARY.toString();
            if (headerContentType[1].regionMatches(true, 0, boundaryHeader, 0, boundaryHeader.length())) {
                mrank = 1;
                crank = 2;
            } else if (headerContentType[2].regionMatches(true, 0, boundaryHeader, 0, boundaryHeader.length())) {
                mrank = 2;
                crank = 1;
            } else {
                return null;
            }
            String boundary = StringUtil.substringAfter(headerContentType[mrank], '=');
            if (boundary == null) {
                throw new ErrorDataDecoderException("Needs a boundary value");
            }
            if (boundary.charAt(0) == '"') {
                String bound = boundary.trim();
                int index = bound.length() - 1;
                if (bound.charAt(index) == '"') {
                    boundary = bound.substring(1, index);
                }
            }
            final String charsetHeader = HttpHeaderValues.CHARSET.toString();
            if (headerContentType[crank].regionMatches(true, 0, charsetHeader, 0, charsetHeader.length())) {
                String charset = StringUtil.substringAfter(headerContentType[crank], '=');
                if (charset != null) {
                    return new String[] {"--" + boundary, charset};
                }
            }
            return new String[] {"--" + boundary};
        }
        return null;
    }

Subdomains

Called By

Frequently Asked Questions

What does getMultipartDataBoundary() do?
getMultipartDataBoundary() is a function in the netty codebase, defined in codec-http/src/main/java/io/netty/handler/codec/http/multipart/HttpPostRequestDecoder.java.
Where is getMultipartDataBoundary() defined?
getMultipartDataBoundary() is defined in codec-http/src/main/java/io/netty/handler/codec/http/multipart/HttpPostRequestDecoder.java at line 206.
What does getMultipartDataBoundary() call?
getMultipartDataBoundary() calls 2 function(s): ErrorDataDecoderException, splitHeaderContentType.
What calls getMultipartDataBoundary()?
getMultipartDataBoundary() is called by 1 function(s): isMultipart.

Analyze Your Own Codebase

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

Try Supermodel Free