HttpFields implements Iterable<HttpField> { public boolean contains(HttpField field) { for (int i = size; i-- > 0; ) { HttpField f = fields[i]; if (f.isSameName(field) && (f.equals(field) || f.contains(field.getValue()))) return true; } return false; } 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 testContains() { HttpFields header = new HttpFields(); header.add("n0", ""); header.add("n1", ","); header.add("n2", ",,"); header.add("N3", "abc"); header.add("N4", "def"); header.add("n5", "abc,def,hig"); header.add("N6", "abc"); header.add("n6", "def"); header.add("N6", "hig"); header.add("n7", "abc , def;q=0.9 , hig"); header.add("n8", "abc , def;q=0 , hig"); header.add(HttpHeader.ACCEPT, "abc , def;q=0 , hig"); for (int i = 0; i < 8; i++) { assertTrue(header.containsKey("n" + i)); assertTrue(header.containsKey("N" + i)); assertFalse(header.contains("n" + i, "xyz")); assertEquals(i >= 4, header.contains("n" + i, "def")); } assertTrue(header.contains(new HttpField("N5", "def"))); assertTrue(header.contains(new HttpField("accept", "abc"))); assertTrue(header.contains(HttpHeader.ACCEPT, "abc")); assertFalse(header.contains(new HttpField("N5", "xyz"))); assertFalse(header.contains(new HttpField("N8", "def"))); assertFalse(header.contains(HttpHeader.ACCEPT, "def")); assertFalse(header.contains(HttpHeader.AGE, "abc")); assertFalse(header.containsKey("n11")); }