HttpFields implements Iterable<HttpField> { public List<String> getQualityCSV(HttpHeader header) { QuotedQualityCSV values = null; for (HttpField f : this) { if (f.getHeader() == header) { if (values == null) values = new QuotedQualityCSV(); values.addValue(f.getValue()); } } return values == null ? Collections.emptyList() : values.getValues(); } HttpFields();  HttpFields(int capacity);  HttpFields(HttpFields fields); static String stripParameters(String value); static String valueParameters(String value, Map<String, String> parameters); int size(); @Override Iterator<HttpField> iterator(); Stream<HttpField> stream(); Set<String> getFieldNamesCollection(); Enumeration<String> getFieldNames(); HttpField getField(int index); HttpField getField(HttpHeader header); HttpField getField(String name); boolean contains(HttpField field); boolean contains(HttpHeader header, String value); boolean contains(String name, String value); boolean contains(HttpHeader header); boolean containsKey(String name); @Deprecated String getStringField(HttpHeader header); String get(HttpHeader header); @Deprecated String getStringField(String name); String get(String header); List<String> getValuesList(HttpHeader header); List<String> getValuesList(String name); boolean addCSV(HttpHeader header, String... values); boolean addCSV(String name, String... values); List<String> getCSV(HttpHeader header, boolean keepQuotes); List<String> getCSV(String name, boolean keepQuotes); List<String> getQualityCSV(HttpHeader header); List<String> getQualityCSV(String name); Enumeration<String> getValues(final String name); void put(HttpField field); void put(String name, String value); void put(HttpHeader header, HttpHeaderValue value); void put(HttpHeader header, String value); void put(String name, List<String> list); void add(String name, String value); void add(HttpHeader header, HttpHeaderValue value); void add(HttpHeader header, String value); HttpField remove(HttpHeader name); HttpField remove(String name); long getLongField(String name); long getDateField(String name); void putLongField(HttpHeader name, long value); void putLongField(String name, long value); void putDateField(HttpHeader name, long date); void putDateField(String name, long date); void addDateField(String name, long date); @Override int hashCode(); @Override boolean equals(Object o); @Override String toString(); void clear(); void add(HttpField field); void addAll(HttpFields fields); void add(HttpFields fields);  }
@Test void testGetQualityCSV() { HttpFields fields = new HttpFields(); fields.put("some", "value"); fields.add("name", "zero;q=0.9,four;q=0.1"); fields.put("other", "value"); fields.add("name", "nothing;q=0"); fields.add("name", "one;q=0.4"); fields.add("name", "three;x=y;q=0.2;a=b,two;q=0.3"); List<String> list = fields.getQualityCSV("name"); assertEquals("zero", HttpFields.valueParameters(list.get(0), null)); assertEquals("one", HttpFields.valueParameters(list.get(1), null)); assertEquals("two", HttpFields.valueParameters(list.get(2), null)); assertEquals("three", HttpFields.valueParameters(list.get(3), null)); assertEquals("four", HttpFields.valueParameters(list.get(4), null)); }