protected boolean requestMinorVersionIsTooHighMajorVersionsMatch(final HttpRequest request) { final ProtocolVersion requestProtocol = request.getVersion(); if (requestProtocol == null) { return false; } if (requestProtocol.getMajor() != HttpVersion.HTTP_1_1.getMajor()) { return false; } if (requestProtocol.getMinor() > HttpVersion.HTTP_1_1.getMinor()) { return true; } return false; }
if (HttpVersion.HTTP_1_1.compareToVersion(pv) != 0) { log.debug("non-HTTP/1.1 request is not serveable from cache"); return false;
private boolean from1_0Origin(final HttpResponse response) { final Iterator<HeaderElement> it = MessageSupport.iterate(response, HeaderConstants.VIA); while (it.hasNext()) { final HeaderElement elt = it.next(); final String proto = elt.toString().split("\\s")[0]; if (proto.contains("/")) { return proto.equals("HTTP/1.0"); } else { return proto.equals("1.0"); } } final ProtocolVersion version = response.getVersion() != null ? response.getVersion() : HttpVersion.DEFAULT; return HttpVersion.HTTP_1_0.equals(version); }
/** * Obtains a specific HTTP version. * * @param major the major version * @param minor the minor version * * @return an instance of {@link HttpVersion} with the argument version */ @Override public ProtocolVersion forVersion(final int major, final int minor) { if ((major == getMajor()) && (minor == getMinor())) { return this; } if (major == 1) { if (minor == 0) { return HTTP_1_0; } if (minor == 1) { return HTTP_1_1; } } if ((major == 0) && (minor == 9)) { return HTTP_0_9; } // argument checking is done in the constructor return new HttpVersion(major, minor); }
@Test public void testHttpVersionParsing() throws Exception { final CharArrayBuffer buffer = new CharArrayBuffer(16); buffer.append("HTTP/1.1"); ParserCursor cursor = new ParserCursor(0, buffer.length()); HttpVersion version = (HttpVersion) parser.parseProtocolVersion(buffer, cursor); Assert.assertEquals("HTTP protocol name", "HTTP", version.getProtocol()); Assert.assertEquals("HTTP major version number", 1, version.getMajor()); Assert.assertEquals("HTTP minor version number", 1, version.getMinor()); Assert.assertEquals("HTTP version number", "HTTP/1.1", version.toString()); Assert.assertEquals(buffer.length(), cursor.getPos()); Assert.assertTrue(cursor.atEnd()); buffer.clear(); buffer.append("HTTP/1.123 123"); cursor = new ParserCursor(0, buffer.length()); version = (HttpVersion) parser.parseProtocolVersion(buffer, cursor); Assert.assertEquals("HTTP protocol name", "HTTP", version.getProtocol()); Assert.assertEquals("HTTP major version number", 1, version.getMajor()); Assert.assertEquals("HTTP minor version number", 123, version.getMinor()); Assert.assertEquals("HTTP version number", "HTTP/1.123", version.toString()); Assert.assertEquals(' ', buffer.charAt(cursor.getPos())); Assert.assertEquals(buffer.length() - 4, cursor.getPos()); Assert.assertFalse(cursor.atEnd()); }
@Test public void testHttpVersionComparison() { Assert.assertTrue(HttpVersion.HTTP_0_9.lessEquals(HttpVersion.HTTP_1_1)); Assert.assertTrue(HttpVersion.HTTP_0_9.greaterEquals(HttpVersion.HTTP_0_9)); Assert.assertFalse(HttpVersion.HTTP_0_9.greaterEquals(HttpVersion.HTTP_1_0)); Assert.assertTrue(HttpVersion.HTTP_1_0.compareToVersion(HttpVersion.HTTP_1_1) < 0); Assert.assertTrue(HttpVersion.HTTP_1_0.compareToVersion(HttpVersion.HTTP_0_9) > 0); Assert.assertTrue(HttpVersion.HTTP_1_0.compareToVersion(HttpVersion.HTTP_1_0) == 0); }
@Test public void testHttpVersionEquality() throws Exception { final HttpVersion ver1 = new HttpVersion(1, 1); final HttpVersion ver2 = new HttpVersion(1, 1); Assert.assertEquals(ver1.hashCode(), ver2.hashCode()); Assert.assertTrue(ver1.equals(ver1)); Assert.assertTrue(ver1.equals(ver2)); Assert.assertTrue(ver1.equals(ver1)); Assert.assertTrue(ver1.equals(ver2)); Assert.assertFalse(ver1.equals(Float.valueOf(1.1f))); Assert.assertTrue((new HttpVersion(0, 9)).equals(HttpVersion.HTTP_0_9)); Assert.assertTrue((new HttpVersion(1, 0)).equals(HttpVersion.HTTP_1_0)); Assert.assertTrue((new HttpVersion(1, 1)).equals(HttpVersion.HTTP_1_1)); Assert.assertFalse((new HttpVersion(1, 1)).equals(HttpVersion.HTTP_1_0)); (HttpVersion.HTTP_0_9.equals(new ProtocolVersion("HTTP", 0, 9))); Assert.assertTrue (HttpVersion.HTTP_1_0.equals(new ProtocolVersion("HTTP", 1, 0))); Assert.assertTrue (HttpVersion.HTTP_1_1.equals(new ProtocolVersion("HTTP", 1, 1))); Assert.assertFalse (HttpVersion.HTTP_1_1.equals(new ProtocolVersion("http", 1, 1)));
if (HttpVersion.HTTP_1_0.greaterEquals(result.getVersion())) { Assert.assertEquals(dateHdr, result.getFirstHeader("Date").getValue()); boolean warningFound = false;
@Test public void testHttpVersionInvalidConstructorInput() throws Exception { try { new HttpVersion(-1, -1); Assert.fail("IllegalArgumentException should have been thrown"); } catch (final IllegalArgumentException e) { // expected } try { new HttpVersion(0, -1); Assert.fail("IllegalArgumentException should have been thrown"); } catch (final IllegalArgumentException e) { // expected } }
/** * Obtains a specific HTTP version. * * @param major the major version * @param minor the minor version * * @return an instance of {@link HttpVersion} with the argument version */ @Override public ProtocolVersion forVersion(final int major, final int minor) { if ((major == getMajor()) && (minor == getMinor())) { return this; } if (major == 1) { if (minor == 0) { return HTTP_1_0; } if (minor == 1) { return HTTP_1_1; } } if ((major == 0) && (minor == 9)) { return HTTP_0_9; } // argument checking is done in the constructor return new HttpVersion(major, minor); }
poolEntry.getUpdated() + timeValue.toMillis() <= System.currentTimeMillis()) { final ProtocolVersion protocolVersion = connection.getProtocolVersion(); if (HttpVersion.HTTP_2_0.greaterEquals(protocolVersion)) { connection.submitCommand(new PingCommand(new BasicPingHandler(new Callback<Boolean>() {
buffer, cursor.getLowerBound(), cursor.getUpperBound(), cursor.getPos()); return new HttpVersion(major, minor);
protected boolean requestMinorVersionIsTooHighMajorVersionsMatch(final HttpRequest request) { final ProtocolVersion requestProtocol = request.getVersion(); if (requestProtocol == null) { return false; } if (requestProtocol.getMajor() != HttpVersion.HTTP_1_1.getMajor()) { return false; } if (requestProtocol.getMinor() > HttpVersion.HTTP_1_1.getMinor()) { return true; } return false; }
buffer, cursor.getLowerBound(), cursor.getUpperBound(), cursor.getPos()); return new HttpVersion(major, minor);
private boolean from1_0Origin(final HttpResponse response) { final Iterator<HeaderElement> it = MessageSupport.iterate(response, HeaderConstants.VIA); while (it.hasNext()) { final HeaderElement elt = it.next(); final String proto = elt.toString().split("\\s")[0]; if (proto.contains("/")) { return proto.equals("HTTP/1.0"); } else { return proto.equals("1.0"); } } final ProtocolVersion version = response.getVersion() != null ? response.getVersion() : HttpVersion.DEFAULT; return HttpVersion.HTTP_1_0.equals(version); }
if (HttpVersion.HTTP_1_1.compareToVersion(pv) != 0) { log.debug("non-HTTP/1.1 request is not serveable from cache"); return false;