static public Charset parseCharacterEncoding()

in aws-serverless-java-container-core/src/main/java/com/amazonaws/serverless/proxy/internal/HttpUtils.java [16:42]


    static public Charset parseCharacterEncoding(String contentTypeHeader,Charset defaultCharset) {
        // we only look at content-type because content-encoding should only be used for
        // "binary" requests such as gzip/deflate.
        if (contentTypeHeader == null) {
            return defaultCharset;
        }

        String[] contentTypeValues = contentTypeHeader.split(HEADER_VALUE_SEPARATOR);
        if (contentTypeValues.length <= 1) {
            return defaultCharset;
        }

        for (String contentTypeValue : contentTypeValues) {
            if (contentTypeValue.trim().startsWith(ENCODING_VALUE_KEY)) {
                String[] encodingValues = contentTypeValue.split(HEADER_KEY_VALUE_SEPARATOR);
                if (encodingValues.length <= 1) {
                    return defaultCharset;
                }
                try {
                    return Charsets.toCharset(encodingValues[1]);
                } catch (UnsupportedCharsetException ex) {
                    return defaultCharset;
                }
            }
        }
        return defaultCharset;
    }