MultipartUtils { public static String getHeader(final String headerName, final Map<String, List<String>> headers){ List<String> headerValues = getHeaders(headerName, headers); if (headerValues == null || headerValues.size() == 0){ return null; } return headerValues.get(0); } private  MultipartUtils(); static boolean isMultipart(final String contentTypeHeaderValue); static boolean hasMultipartContentType(final Map<String, List<String>> headers); static String getContentType(final Map<String, List<String>> headers); static long getContentLength(final Map<String, List<String>> headers); static String getCharEncoding(final Map<String, List<String>> headers); static List<String> getHeaders(final String headerName, final Map<String, List<String>> headers); static String getHeader(final String headerName, final Map<String, List<String>> headers); static boolean isFormField(final Map<String, List<String>> headers, final MultipartContext context); static String readFormParameterValue(final StreamStorage streamStorage, final Map<String, List<String>> headers); static String getFileName(final Map<String, List<String>> headers); static String getFieldName(final Map<String, List<String>> headers); static boolean isContentTransferEncodingBase64Encoded(final Map<String, List<String>> partHeaders); static byte[] getBoundary(final String contentType); static final byte DASH; static final byte CR; static final byte LF; static final byte[] HEADER_DELIMITER; static final String MULTIPART; static final String CONTENT_DISPOSITION; static final String CONTENT_TRANSFER_ENCODING; static final String CONTENT_LENGTH; static final String CONTENT_TYPE; static final String FORM_DATA; static final String ATTACHMENT; static final String MULTIPART_FORM_DATA; static final String MULTIPART_MIXED; static final String TEXT_PLAIN; }
@Test public void testGetHeader(){ Map<String, List<String>> singleValueHeader = new HashMap<String, List<String>>(); singleValueHeader.put("my-header", Collections.singletonList("single value")); assertEquals("single value", MultipartUtils.getHeader("my-header", singleValueHeader)); Map<String, List<String>> multiValueHeader = new HashMap<String, List<String>>(); multiValueHeader.put("my-multi-value-header", Arrays.asList("value 1", "value 2")); assertEquals("value 1", MultipartUtils.getHeader("my-multi-value-header", multiValueHeader)); Map<String, List<String>> emptyHeaders = new HashMap<String, List<String>>(); assertNull(MultipartUtils.getHeader("no-header", emptyHeaders)); }