org.apache.tomcat.util.http.fileupload.util.FileItemHeadersImpl Java Examples

The following examples show how to use org.apache.tomcat.util.http.fileupload.util.FileItemHeadersImpl. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: FileUploadBase.java    From Tomcat8-Source-Read with MIT License 5 votes vote down vote up
/**
 * <p> Parses the <code>header-part</code> and returns as key/value
 * pairs.
 *
 * <p> If there are multiple headers of the same names, the name
 * will map to a comma-separated list containing the values.
 *
 * @param headerPart The <code>header-part</code> of the current
 *                   <code>encapsulation</code>.
 *
 * @return A <code>Map</code> containing the parsed HTTP request headers.
 */
protected FileItemHeaders getParsedHeaders(String headerPart) {
    final int len = headerPart.length();
    FileItemHeadersImpl headers = newFileItemHeaders();
    int start = 0;
    for (;;) {
        int end = parseEndOfLine(headerPart, start);
        if (start == end) {
            break;
        }
        StringBuilder header = new StringBuilder(headerPart.substring(start, end));
        start = end + 2;
        while (start < len) {
            int nonWs = start;
            while (nonWs < len) {
                char c = headerPart.charAt(nonWs);
                if (c != ' '  &&  c != '\t') {
                    break;
                }
                ++nonWs;
            }
            if (nonWs == start) {
                break;
            }
            // Continuation line found
            end = parseEndOfLine(headerPart, nonWs);
            header.append(" ").append(headerPart.substring(nonWs, end));
            start = end + 2;
        }
        parseHeaderLine(headers, header.toString());
    }
    return headers;
}
 
Example #2
Source File: FileUploadBase.java    From Tomcat8-Source-Read with MIT License 5 votes vote down vote up
/**
 * Reads the next header line.
 * @param headers String with all headers.
 * @param header Map where to store the current header.
 */
private void parseHeaderLine(FileItemHeadersImpl headers, String header) {
    final int colonOffset = header.indexOf(':');
    if (colonOffset == -1) {
        // This header line is malformed, skip it.
        return;
    }
    String headerName = header.substring(0, colonOffset).trim();
    String headerValue =
        header.substring(header.indexOf(':') + 1).trim();
    headers.addHeader(headerName, headerValue);
}
 
Example #3
Source File: FileUploadBase.java    From Tomcat7.0.67 with Apache License 2.0 5 votes vote down vote up
/**
 * <p> Parses the <code>header-part</code> and returns as key/value
 * pairs.
 *
 * <p> If there are multiple headers of the same names, the name
 * will map to a comma-separated list containing the values.
 *
 * @param headerPart The <code>header-part</code> of the current
 *                   <code>encapsulation</code>.
 *
 * @return A <code>Map</code> containing the parsed HTTP request headers.
 */
protected FileItemHeaders getParsedHeaders(String headerPart) {
    final int len = headerPart.length();
    FileItemHeadersImpl headers = newFileItemHeaders();
    int start = 0;
    for (;;) {
        int end = parseEndOfLine(headerPart, start);
        if (start == end) {
            break;
        }
        StringBuilder header = new StringBuilder(headerPart.substring(start, end));
        start = end + 2;
        while (start < len) {
            int nonWs = start;
            while (nonWs < len) {
                char c = headerPart.charAt(nonWs);
                if (c != ' '  &&  c != '\t') {
                    break;
                }
                ++nonWs;
            }
            if (nonWs == start) {
                break;
            }
            // Continuation line found
            end = parseEndOfLine(headerPart, nonWs);
            header.append(" ").append(headerPart.substring(nonWs, end));
            start = end + 2;
        }
        parseHeaderLine(headers, header.toString());
    }
    return headers;
}
 
Example #4
Source File: FileUploadBase.java    From Tomcat7.0.67 with Apache License 2.0 5 votes vote down vote up
/**
 * Reads the next header line.
 * @param headers String with all headers.
 * @param header Map where to store the current header.
 */
private void parseHeaderLine(FileItemHeadersImpl headers, String header) {
    final int colonOffset = header.indexOf(':');
    if (colonOffset == -1) {
        // This header line is malformed, skip it.
        return;
    }
    String headerName = header.substring(0, colonOffset).trim();
    String headerValue =
        header.substring(header.indexOf(':') + 1).trim();
    headers.addHeader(headerName, headerValue);
}
 
Example #5
Source File: FileUploadBase.java    From tomcatsrc with Apache License 2.0 5 votes vote down vote up
/**
 * <p> Parses the <code>header-part</code> and returns as key/value
 * pairs.
 *
 * <p> If there are multiple headers of the same names, the name
 * will map to a comma-separated list containing the values.
 *
 * @param headerPart The <code>header-part</code> of the current
 *                   <code>encapsulation</code>.
 *
 * @return A <code>Map</code> containing the parsed HTTP request headers.
 */
protected FileItemHeaders getParsedHeaders(String headerPart) {
    final int len = headerPart.length();
    FileItemHeadersImpl headers = newFileItemHeaders();
    int start = 0;
    for (;;) {
        int end = parseEndOfLine(headerPart, start);
        if (start == end) {
            break;
        }
        StringBuilder header = new StringBuilder(headerPart.substring(start, end));
        start = end + 2;
        while (start < len) {
            int nonWs = start;
            while (nonWs < len) {
                char c = headerPart.charAt(nonWs);
                if (c != ' '  &&  c != '\t') {
                    break;
                }
                ++nonWs;
            }
            if (nonWs == start) {
                break;
            }
            // Continuation line found
            end = parseEndOfLine(headerPart, nonWs);
            header.append(" ").append(headerPart.substring(nonWs, end));
            start = end + 2;
        }
        parseHeaderLine(headers, header.toString());
    }
    return headers;
}
 
Example #6
Source File: FileUploadBase.java    From tomcatsrc with Apache License 2.0 5 votes vote down vote up
/**
 * Reads the next header line.
 * @param headers String with all headers.
 * @param header Map where to store the current header.
 */
private void parseHeaderLine(FileItemHeadersImpl headers, String header) {
    final int colonOffset = header.indexOf(':');
    if (colonOffset == -1) {
        // This header line is malformed, skip it.
        return;
    }
    String headerName = header.substring(0, colonOffset).trim();
    String headerValue =
        header.substring(header.indexOf(':') + 1).trim();
    headers.addHeader(headerName, headerValue);
}
 
Example #7
Source File: FileUploadBase.java    From Tomcat8-Source-Read with MIT License 2 votes vote down vote up
/**
 * Creates a new instance of {@link FileItemHeaders}.
 * @return The new instance.
 */
protected FileItemHeadersImpl newFileItemHeaders() {
    return new FileItemHeadersImpl();
}
 
Example #8
Source File: FileUploadBase.java    From Tomcat7.0.67 with Apache License 2.0 2 votes vote down vote up
/**
 * Creates a new instance of {@link FileItemHeaders}.
 * @return The new instance.
 */
protected FileItemHeadersImpl newFileItemHeaders() {
    return new FileItemHeadersImpl();
}
 
Example #9
Source File: FileUploadBase.java    From tomcatsrc with Apache License 2.0 2 votes vote down vote up
/**
 * Creates a new instance of {@link FileItemHeaders}.
 * @return The new instance.
 */
protected FileItemHeadersImpl newFileItemHeaders() {
    return new FileItemHeadersImpl();
}