/** * Gets all the headers with the given name that were on the origin * response. */ @Override public Header[] getHeaders(final String name) { if (REQUEST_METHOD_HEADER_NAME.equalsIgnoreCase(name)) { return new Header[0]; } return responseHeaders.getHeaders(name); }
/** * Returns all the headers that were on the origin response. */ @Override public Header[] getHeaders() { final HeaderGroup filteredHeaders = new HeaderGroup(); for (final Iterator<Header> iterator = responseHeaders.headerIterator(); iterator.hasNext();) { final Header header = iterator.next(); if (!REQUEST_METHOD_HEADER_NAME.equals(header.getName())) { filteredHeaders.addHeader(header); } } return filteredHeaders.getHeaders(); }
return headerGroup.getHeaders();
public Header[] getHeaders(final String name) { return headerGroup != null ? headerGroup.getHeaders(name) : null; }
public Header[] getHeaders(final String name) { return headergroup != null ? headergroup.getHeaders(name) : null; }
/** * Gets all the headers with the given name that were on the origin * response. */ @Override public Header[] getHeaders(final String name) { if (REQUEST_METHOD_HEADER_NAME.equalsIgnoreCase(name)) { return new Header[0]; } return responseHeaders.getHeaders(name); }
/** * Returns all the headers that were on the origin response. */ @Override public Header[] getHeaders() { final HeaderGroup filteredHeaders = new HeaderGroup(); for (final Iterator<Header> iterator = responseHeaders.headerIterator(); iterator.hasNext();) { final Header header = iterator.next(); if (!REQUEST_METHOD_HEADER_NAME.equals(header.getName())) { filteredHeaders.addHeader(header); } } return filteredHeaders.getHeaders(); }
return headerGroup.getHeaders();
@Test public void testConstructor() { final HeaderGroup headergroup = new HeaderGroup(); Assert.assertNotNull(headergroup.getHeaders()); Assert.assertEquals(0, headergroup.getHeaders().length); }
public ClassicHttpRequest build() { URI uriNotNull = this.uri != null ? this.uri : URI.create("/"); HttpEntity entityCopy = this.entity; if (parameters != null && !parameters.isEmpty()) { if (entityCopy == null && (StandardMethods.POST.name().equalsIgnoreCase(method) || StandardMethods.PUT.name().equalsIgnoreCase(method))) { entityCopy = new UrlEncodedFormEntity(parameters, charset != null ? charset : StandardCharsets.ISO_8859_1); } else { try { uriNotNull = new URIBuilder(uriNotNull) .setCharset(this.charset) .addParameters(parameters) .build(); } catch (final URISyntaxException ex) { // should never happen } } } final HttpUriRequestBase result = new HttpUriRequestBase(method, uriNotNull); result.setVersion(this.version != null ? this.version : HttpVersion.HTTP_1_1); if (this.headerGroup != null) { result.setHeaders(this.headerGroup.getHeaders()); } result.setEntity(entityCopy); result.setConfig(this.config); return result; }
@Test public void testClear() { final HeaderGroup headergroup = new HeaderGroup(); headergroup.addHeader(new BasicHeader("name", "value")); Assert.assertEquals(1, headergroup.getHeaders().length); headergroup.clear(); Assert.assertEquals(0, headergroup.getHeaders().length); }
/** * Gets a header representing all of the header values with the given name. * If more that one header with the given name exists the values will be * combined with a "," as per RFC 2616. * * <p>Header name comparison is case insensitive. * * @param name the name of the header(s) to get * @return a header with a condensed value or {@code null} if no * headers by the given name are present */ public Header getCondensedHeader(final String name) { final Header[] hdrs = getHeaders(name); if (hdrs.length == 0) { return null; } else if (hdrs.length == 1) { return hdrs[0]; } else { final CharArrayBuffer valueBuffer = new CharArrayBuffer(128); valueBuffer.append(hdrs[0].getValue()); for (int i = 1; i < hdrs.length; i++) { valueBuffer.append(", "); valueBuffer.append(hdrs[i].getValue()); } return new BasicHeader(name.toLowerCase(Locale.ROOT), valueBuffer.toString()); } }
/** * Gets a header representing all of the header values with the given name. * If more that one header with the given name exists the values will be * combined with a "," as per RFC 2616. * * <p>Header name comparison is case insensitive. * * @param name the name of the header(s) to get * @return a header with a condensed value or {@code null} if no * headers by the given name are present */ public Header getCondensedHeader(final String name) { final Header[] hdrs = getHeaders(name); if (hdrs.length == 0) { return null; } else if (hdrs.length == 1) { return hdrs[0]; } else { final CharArrayBuffer valueBuffer = new CharArrayBuffer(128); valueBuffer.append(hdrs[0].getValue()); for (int i = 1; i < hdrs.length; i++) { valueBuffer.append(", "); valueBuffer.append(hdrs[i].getValue()); } return new BasicHeader(name.toLowerCase(Locale.ROOT), valueBuffer.toString()); } }
@Test public void testHeaderRemove() { final HeaderGroup headergroup = new HeaderGroup(); final Header header1 = new BasicHeader("name", "value1"); final Header header2 = new BasicHeader("name", "value2"); final Header header3 = new BasicHeader("name", "value3"); headergroup.setHeaders(new Header[] { header1, header2, header3 }); final Iterator<Header> i = headergroup.headerIterator(); Assert.assertNotNull(i); Assert.assertTrue(i.hasNext()); i.next(); Assert.assertTrue(i.hasNext()); i.next(); i.remove(); Assert.assertEquals(2, headergroup.getHeaders().length); Assert.assertTrue(i.hasNext()); i.next(); i.remove(); Assert.assertEquals(1, headergroup.getHeaders().length); Assert.assertFalse(i.hasNext()); }
@Test public void testAddRemoveHeaderWithDifferentButEqualHeaders() { final HeaderGroup headergroup = new HeaderGroup(); final Header header = new BasicHeader("name", "value"); final Header header2 = new BasicHeader("name", "value"); headergroup.addHeader(header); Assert.assertEquals(1, headergroup.getHeaders().length); Assert.assertTrue(headergroup.removeHeader(header2)); Assert.assertEquals(0, headergroup.getHeaders().length); }
@Test public void testSerialization() throws Exception { final HeaderGroup orig = new HeaderGroup(); final Header header1 = new BasicHeader("name", "value1"); final Header header2 = new BasicHeader("name", "value2"); final Header header3 = new BasicHeader("name", "value3"); orig.setHeaders(new Header[] { header1, header2, header3 }); final ByteArrayOutputStream outbuffer = new ByteArrayOutputStream(); final ObjectOutputStream outStream = new ObjectOutputStream(outbuffer); outStream.writeObject(orig); outStream.close(); final byte[] raw = outbuffer.toByteArray(); final ByteArrayInputStream inBuffer = new ByteArrayInputStream(raw); final ObjectInputStream inStream = new ObjectInputStream(inBuffer); final HeaderGroup clone = (HeaderGroup) inStream.readObject(); final Header[] headers1 = orig.getHeaders(); final Header[] headers2 = clone.getHeaders(); Assert.assertNotNull(headers1); Assert.assertNotNull(headers2); Assert.assertEquals(headers1.length, headers2.length); for (int i = 0; i < headers1.length; i++) { Assert.assertEquals(headers1[i].getName(), headers2[i].getName()); Assert.assertEquals(headers1[i].getValue(), headers2[i].getValue()); } }
@Test public void testSetHeaders() { final HeaderGroup headergroup = new HeaderGroup(); final Header header1 = new BasicHeader("name1", "value1"); final Header header2 = new BasicHeader("name2", "value2"); final Header header3 = new BasicHeader("name3", "value3"); headergroup.addHeader(header1); headergroup.setHeaders(new Header[] { header2, header3 }); Assert.assertEquals(2, headergroup.getHeaders().length); Assert.assertEquals(0, headergroup.getHeaders("name1").length); Assert.assertFalse(headergroup.containsHeader("name1")); Assert.assertEquals(1, headergroup.getHeaders("name2").length); Assert.assertTrue(headergroup.containsHeader("name2")); Assert.assertEquals(1, headergroup.getHeaders("name3").length); Assert.assertTrue(headergroup.containsHeader("name3")); headergroup.setHeaders(null); Assert.assertEquals(0, headergroup.getHeaders().length); }
@Test public void testAddRemoveHeader() { final HeaderGroup headerGroup = new HeaderGroup(); final Header header = new BasicHeader("name", "value"); headerGroup.addHeader(header); headerGroup.addHeader(null); Assert.assertEquals(1, headerGroup.getHeaders().length); Assert.assertTrue(headerGroup.removeHeader(header)); Assert.assertFalse(headerGroup.removeHeader(null)); Assert.assertEquals(0, headerGroup.getHeaders().length); }
@Test public void testAddRemoveHeaders() { final HeaderGroup headergroup = new HeaderGroup(); final Header header = new BasicHeader("name", "value"); headergroup.addHeader(header); headergroup.addHeader(header); Assert.assertEquals(2, headergroup.getHeaders().length); Assert.assertFalse(headergroup.removeHeaders((Header) null)); Assert.assertTrue(headergroup.removeHeaders(header)); Assert.assertFalse(headergroup.removeHeaders((Header) null)); Assert.assertEquals(0, headergroup.getHeaders().length); }
@Test public void testUpdateHeader() { final HeaderGroup headergroup = new HeaderGroup(); final Header header1 = new BasicHeader("name1", "value1"); final Header header2 = new BasicHeader("name2", "value2"); final Header header3 = new BasicHeader("name3", "value3"); headergroup.addHeader(header1); headergroup.addHeader(header2); headergroup.addHeader(header3); headergroup.setHeader(new BasicHeader("name2", "newvalue")); headergroup.setHeader(new BasicHeader("name4", "value4")); headergroup.setHeader(null); Assert.assertEquals(4, headergroup.getHeaders().length); Assert.assertEquals("newvalue", headergroup.getFirstHeader("name2").getValue()); }