/** * Checks whether a header is part of the iteration. * * @param index the index of the header to check * * @return {@code true} if the header should be part of the * iteration, {@code false} to skip */ protected boolean filterHeader(final int index) { return (this.headerName == null) || this.headerName.equalsIgnoreCase(this.allHeaders[index].getName()); }
/** * Checks whether a header is part of the iteration. * * @param index the index of the header to check * * @return {@code true} if the header should be part of the * iteration, {@code false} to skip */ protected boolean filterHeader(final int index) { if (this.headerName == null) { return true; } // non-header elements, including null, will trigger exceptions final String name = (this.allHeaders.get(index)).getName(); return this.headerName.equalsIgnoreCase(name); }
/** * Gets the last header with the given name. * * <p>Header name comparison is case insensitive. * * @param name the name of the header to get * @return the last header or {@code null} */ public Header getLastHeader(final String name) { // start at the end of the list and work backwards for (int i = headers.size() - 1; i >= 0; i--) { final Header header = headers.get(i); if (header.getName().equalsIgnoreCase(name)) { return header; } } return null; }
private void removeCacheHeadersThatMatchResponse(final List<Header> cacheEntryHeaderList, final HttpResponse response) { for (final Header responseHeader : response.getAllHeaders()) { final ListIterator<Header> cacheEntryHeaderListIter = cacheEntryHeaderList.listIterator(); while (cacheEntryHeaderListIter.hasNext()) { final String cacheEntryHeaderName = cacheEntryHeaderListIter.next().getName(); if (cacheEntryHeaderName.equals(responseHeader.getName())) { cacheEntryHeaderListIter.remove(); } } } }
/** * Replaces the first occurence of the header with the same name. If no header with * the same name is found the given header is added to the end of the list. * * @param header the new header that should replace the first header with the same * name if present in the list. */ public void updateHeader(final Header header) { if (header == null) { return; } // HTTPCORE-361 : we don't use the for-each syntax, i.e. // for (Header header : headers) // as that creates an Iterator that needs to be garbage-collected for (int i = 0; i < this.headers.size(); i++) { final Header current = this.headers.get(i); if (current.getName().equalsIgnoreCase(header.getName())) { this.headers.set(i, header); return; } } this.headers.add(header); }
/** * Gets the first header with the given name. * * <p>Header name comparison is case insensitive. * * @param name the name of the header to get * @return the first header or {@code null} */ public Header getFirstHeader(final String name) { // HTTPCORE-361 : we don't use the for-each syntax, i.e. // for (Header header : headers) // as that creates an Iterator that needs to be garbage-collected for (int i = 0; i < this.headers.size(); i++) { final Header header = this.headers.get(i); if (header.getName().equalsIgnoreCase(name)) { return header; } } return null; }
/** * Tests if headers with the given name are contained within this group. * * <p>Header name comparison is case insensitive. * * @param name the header name to test for * @return {@code true} if at least one header with the name is * contained, {@code false} otherwise */ public boolean containsHeader(final String name) { // HTTPCORE-361 : we don't use the for-each syntax, i.e. // for (Header header : headers) // as that creates an Iterator that needs to be garbage-collected for (int i = 0; i < this.headers.size(); i++) { final Header header = this.headers.get(i); if (header.getName().equalsIgnoreCase(name)) { return true; } } return false; }
private void removeCacheEntry1xxWarnings(final List<Header> cacheEntryHeaderList, final HttpCacheEntry entry) { final ListIterator<Header> cacheEntryHeaderListIter = cacheEntryHeaderList.listIterator(); while (cacheEntryHeaderListIter.hasNext()) { final String cacheEntryHeaderName = cacheEntryHeaderListIter.next().getName(); if (HeaderConstants.WARNING.equals(cacheEntryHeaderName)) { for (final Header cacheEntryWarning : entry.getHeaders(HeaderConstants.WARNING)) { if (cacheEntryWarning.getValue().startsWith("1")) { cacheEntryHeaderListIter.remove(); } } } } }
public Map<String, String> getAllHeaders() { Header[] origHeaders = request.getAllHeaders(); HashMap<String, String> headers = new HashMap<String, String>(); for (Header h : origHeaders) { headers.put(h.getName(), h.getValue()); } return headers; }
/** * Gets all of the headers with the given name. The returned array * maintains the relative order in which the headers were added. * * <p>Header name comparison is case insensitive. * * @param name the name of the header(s) to get * * @return an array of length ≥ 0 */ public Header[] getHeaders(final String name) { List<Header> headersFound = null; // HTTPCORE-361 : we don't use the for-each syntax, i.e. // for (Header header : headers) // as that creates an Iterator that needs to be garbage-collected for (int i = 0; i < this.headers.size(); i++) { final Header header = this.headers.get(i); if (header.getName().equalsIgnoreCase(name)) { if (headersFound == null) { headersFound = new ArrayList<Header>(); } headersFound.add(header); } } return headersFound != null ? headersFound.toArray(new Header[headersFound.size()]) : EMPTY; }
public RequestBuilder removeHeaders(final String name) { if (name == null || headergroup == null) { return this; } for (final HeaderIterator i = headergroup.iterator(); i.hasNext(); ) { final Header header = i.nextHeader(); if (name.equalsIgnoreCase(header.getName())) { i.remove(); } } return this; }
@Override public List<Cookie> parse(final Header header, final CookieOrigin origin) throws MalformedCookieException { Args.notNull(header, "Header"); Args.notNull(origin, "Cookie origin"); if (!header.getName().equalsIgnoreCase(SM.SET_COOKIE)) { throw new MalformedCookieException("Unrecognized cookie header '" + header.toString() + "'"); } final HeaderElement[] elems = header.getElements(); return parse(elems, origin); }
@Override public void removeHeaders(final String name) { if (name == null) { return; } for (final HeaderIterator i = this.headergroup.iterator(); i.hasNext(); ) { final Header header = i.nextHeader(); if (name.equalsIgnoreCase(header.getName())) { i.remove(); } } }
@Override public List<Cookie> parse( final Header header, final CookieOrigin origin) throws MalformedCookieException { Args.notNull(header, "Header"); Args.notNull(origin, "Cookie origin"); if (!header.getName().equalsIgnoreCase(SM.SET_COOKIE2)) { throw new MalformedCookieException("Unrecognized cookie header '" + header.toString() + "'"); } final HeaderElement[] elems = header.getElements(); return createCookies(elems, adjustEffectiveHost(origin)); }
/** * Actually formats a header. * Called from {@link #formatHeader}. * * @param buffer the empty buffer into which to format, * never {@code null} * @param header the header to format, never {@code null} */ protected void doFormatHeader(final CharArrayBuffer buffer, final Header header) { final String name = header.getName(); final String value = header.getValue(); int len = name.length() + 2; if (value != null) { len += value.length(); } buffer.ensureCapacity(len); buffer.append(name); buffer.append(": "); if (value != null) { buffer.append(value); } }
/** * Returns all the headers that were on the origin response. */ public Header[] getAllHeaders() { final HeaderGroup filteredHeaders = new HeaderGroup(); for (final HeaderIterator iterator = responseHeaders.iterator(); iterator .hasNext();) { final Header header = (Header) iterator.next(); if (!REQUEST_METHOD_HEADER_NAME.equals(header.getName())) { filteredHeaders.addHeader(header); } } return filteredHeaders.getAllHeaders(); }
static MultipartFormEntityBytes buildMultipartFormEntityBytes(JSONObject params) throws ConnectionException { HttpEntity httpEntity = multiPartFormEntity(params); return new MultipartFormEntityBytes( httpEntity.getContentType().getName(), httpEntity.getContentType().getValue(), httpEntityToBytes(httpEntity)); }
@Override public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) { if (statusCode == 401 && auth_times == 0) { for (int i = 0; i < headers.length; i++) { if (headers[i].getName().equals("WWW-Authenticate")) { HttpAuthHeader httpAuthHeader = new HttpAuthHeader( headers[i].getValue()); String realm = httpAuthHeader.getRealm(); String uri = httpUrl; String nonce = httpAuthHeader.getNonce(); String cnonce = getRandomString(16); String response = authDigest("GET", strAppId, realm, uri, strToken, nonce, cnonce, httpAuthHeader.getScheme(), httpAuthHeader.getQop().length() > 0); Header[] reqHdr = new Header[1]; reqHdr[0] = new BasicHeader("Authorization", response); httpClient.get(ctx, httpUrl, reqHdr, null, this); auth_times++; return; } } } } };
@Override public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) { if (statusCode == 401 && auth_times == 0) { for (int i = 0; i < headers.length; i++) { if (headers[i].getName().equals("WWW-Authenticate")) { HttpAuthHeader httpAuthHeader = new HttpAuthHeader( headers[i].getValue()); String realm = httpAuthHeader.getRealm(); String uri = httpUrl; String nonce = httpAuthHeader.getNonce(); String cnonce = getRandomString(16); String response = authDigest("GET", strAppId, realm, uri, strToken, nonce, cnonce, httpAuthHeader.getScheme(), httpAuthHeader.getQop().length() > 0); Header[] reqHdr = new Header[1]; reqHdr[0] = new BasicHeader("Authorization", response); httpClient.get(ctx, httpUrl, reqHdr, null, this); auth_times++; return; } } } callback.OnRTMPCHttpFailed(statusCode); } };
@Override public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) { if (statusCode == 401 && auth_times == 0) { for (int i = 0; i < headers.length; i++) { if (headers[i].getName().equals("WWW-Authenticate")) { HttpAuthHeader httpAuthHeader = new HttpAuthHeader( headers[i].getValue()); String realm = httpAuthHeader.getRealm(); String uri = httpUrl; String nonce = httpAuthHeader.getNonce(); String cnonce = getRandomString(16); String response = authDigest("GET", strAppId, realm, uri, strToken, nonce, cnonce, httpAuthHeader.getScheme(), httpAuthHeader.getQop().length() > 0); Header[] reqHdr = new Header[1]; reqHdr[0] = new BasicHeader("Authorization", response); httpClient.get(ctx, httpUrl, reqHdr, null, this); auth_times++; return; } } } callback.OnRTMPCHttpFailed(statusCode); } };