@Override public HttpHeaders add(final String name, final Object value) { String strVal = toString(value); boolean validateName = false; if (validate) { validateHeaderValue0(strVal); validateName = !KNOWN_NAMES.contains(name); } int h = hash(name, validateName); int i = index(h); add0(h, i, name, strVal); return this; }
@Override public HttpHeaders add(String name, Iterable<?> values) { boolean validateName = false; if (validate) { validateName = !KNOWN_NAMES.contains(name); } int h = hash(name, validateName); int i = index(h); for (Object v: values) { String vstr = toString(v); if (validate) { validateHeaderValue0(vstr); } add0(h, i, name, vstr); } return this; }
@Override public HttpHeaders set(final String name, final Object value) { String strVal = toString(value); boolean validateName = false; if (validate) { validateHeaderValue0(strVal); validateName = !KNOWN_NAMES.contains(name); } int h = hash(name, validateName); int i = index(h); remove0(h, i, name); add0(h, i, name, strVal); return this; }
@Override public HttpHeaders set(final String name, final Iterable<?> values) { if (values == null) { throw new NullPointerException("values"); } boolean validateName = false; if (validate) { validateName = !KNOWN_NAMES.contains(name); } int h = hash(name, validateName); int i = index(h); remove0(h, i, name); for (Object v: values) { if (v == null) { break; } String strVal = toString(v); if (validate) { validateHeaderValue0(strVal); } add0(h, i, name, strVal); } return this; }