@Override public boolean parsedHeader(HttpField field) { HttpHeader header = field.getHeader(); String value = field.getValue(); if (value == null) value = ""; if (header != null) { switch (header) { case EXPECT: if (_version.getVersion() >= HttpVersion.HTTP_1_1.getVersion()) { HttpHeaderValue expect = HttpHeaderValue.CACHE.get(value); switch (expect == null ? HttpHeaderValue.UNKNOWN : expect) { case CONTINUE: _expect100Continue = true; break; case PROCESSING: _expect102Processing = true; break; default: String[] values = value.split(","); for (int i = 0; values != null && i < values.length; i++) { expect = HttpHeaderValue.CACHE.get(values[i].trim()); if (expect == null) _expect = true; else { switch (expect) { case CONTINUE: _expect100Continue = true; break; case PROCESSING: _expect102Processing = true; break; default: _expect = true; } } } } } break; case CONTENT_TYPE: MimeTypes.Type mime = MimeTypes.CACHE.get(value); String charset = (mime == null || mime.getCharset() == null) ? MimeTypes.getCharsetFromContentType(value) : mime.getCharset().toString(); if (charset != null) _request.setCharacterEncodingUnchecked(charset); break; default: } } if (field.getName() != null) _request.getHttpFields().add(field); return false; }