/** * {@code true} if HTTP response code is either {@code 4xx} or {@code 5xx}. * @return */ public boolean isHttpError() { if (isRevisitDigest() && (getDuplicatePayload() != null)) { return getDuplicatePayload().isHttpError(); } String httpCode = getHttpCode(); return (httpCode.startsWith("4") || httpCode.startsWith("5")); }
/** * {@link EmbeddedCDXServerIndex} resolves revisits for replay requests. * (This is actually a test of {@link CDXToCaptureSearchResultsWriter}.) * @throws Exception */ public void testRevisitResolution() throws Exception { WaybackRequest wbr = WaybackRequest.createReplayRequest( "http://example.com/", "20101125000000", null, null); setCdxLines( "com,example)/ 20101124000000 http://example.com/ text/html 200" + " XXXX - - 2000 0 /a/a.warc.gz", "com,example)/ 20101125000000 http://example.com/ warc/revisit 200" + " XXXX - - 2000 0 /a/b.warc.gz", "com,example)/ 20101126000000 http://example.com/ text/html 200" + " XXXX - - 2000 0 /a/c.warc.gz" ); SearchResults sr = cut.query(wbr); assertEquals(3, sr.getReturnedCount()); CaptureSearchResults results = (CaptureSearchResults)sr; List<CaptureSearchResult> list = results.getResults(); CaptureSearchResult capture2 = list.get(1); assertEquals("20101125000000", capture2.getCaptureTimestamp()); assertEquals("20101124000000", capture2.getDuplicateDigestStoredTimestamp()); assertEquals("/a/a.warc.gz", capture2.getDuplicatePayloadFile()); assertEquals(0, (long)capture2.getDuplicatePayloadOffset()); assertEquals(2000, capture2.getDuplicatePayloadCompressedLength()); assertSame(list.get(0), capture2.getDuplicatePayload()); }
CaptureSearchResult captureX = capture1.getDuplicatePayload(); assertNotNull(captureX); assertEquals("20101124000000", captureX.getCaptureTimestamp());
/** * {@code true} if HTTP response code is either {@code 4xx} or {@code 5xx}. * @return */ public boolean isHttpError() { if (isRevisitDigest() && (getDuplicatePayload() != null)) { return getDuplicatePayload().isHttpError(); } String httpCode = getHttpCode(); return (httpCode.startsWith("4") || httpCode.startsWith("5")); }
assertEquals(2000, capture2.getDuplicatePayloadCompressedLength()); assertSame(capture1, capture2.getDuplicatePayload());
/** * {@code true} if HTTP response code is {@code 3xx}. * @return */ public boolean isHttpRedirect() { if (isRevisitDigest() && (getDuplicatePayload() != null)) { return getDuplicatePayload().isHttpRedirect(); } String httpCode = getHttpCode(); return (httpCode.startsWith("3")); }
/** * {@code true} if HTTP response code is {@code 2xx}. * @return */ public boolean isHttpSuccess() { if (isRevisitDigest() && (getDuplicatePayload() != null)) { return getDuplicatePayload().isHttpSuccess(); } String httpCode = getHttpCode(); return (httpCode.startsWith("2")); } }
/** * {@code true} if HTTP response code is {@code 2xx}. * @return */ public boolean isHttpSuccess() { if (isRevisitDigest() && (getDuplicatePayload() != null)) { return getDuplicatePayload().isHttpSuccess(); } String httpCode = getHttpCode(); return (httpCode.startsWith("2")); } }
/** * {@code true} if HTTP response code is {@code 3xx}. * @return */ public boolean isHttpRedirect() { if (isRevisitDigest() && (getDuplicatePayload() != null)) { return getDuplicatePayload().isHttpRedirect(); } String httpCode = getHttpCode(); return (httpCode.startsWith("3")); }
/** * whether this capture is a re-fetch of previously archived capture * (<i>revisit</i>), detected by content's digest, and replay of * that previous capture is not blocked. * <p>1.8.1 2014-10-02 behavior change. This method now returns * {@code false} even for revisits, if the original capture * is blocked. Use #isRevisitDigest() for old behavior.</p> * @return {@code true} if revisit */ public boolean isDuplicateDigest() { if (!isRevisitDigest()) return false; CaptureSearchResult orig = getDuplicatePayload(); if (orig != null && orig.isRobotFlagSet(CaptureSearchResult.CAPTURE_ROBOT_BLOCKED)) return false; return true; }
/** * whether this capture is a re-fetch of previously archived capture * (<i>revisit</i>), detected by content's digest, and replay of * that previous capture is not blocked. * <p>1.8.1 2014-10-02 behavior change. This method now returns * {@code false} even for revisits, if the original capture * is blocked. Use #isRevisitDigest() for old behavior.</p> * @return {@code true} if revisit */ public boolean isDuplicateDigest() { if (!isRevisitDigest()) return false; CaptureSearchResult orig = getDuplicatePayload(); if (orig != null && orig.isRobotFlagSet(CaptureSearchResult.CAPTURE_ROBOT_BLOCKED)) return false; return true; }
if (result.getDuplicatePayload() != null) { mime = result.getDuplicatePayload().getMimeType(); } else { mime = payloadResource.getHeader("Content-Type");
if (result.getDuplicatePayload() != null) { mime = result.getDuplicatePayload().getMimeType(); } else { mime = payloadResource.getHeader("Content-Type");
if (result.getDuplicatePayload() != null) { mimeType = result.getDuplicatePayload().getMimeType(); } else {
if (result.getDuplicatePayload() != null) { mimeType = result.getDuplicatePayload().getMimeType(); } else {
CaptureSearchResult captureX = capture1.getDuplicatePayload(); assertNotNull(captureX); assertEquals("20101124000000", captureX.getCaptureTimestamp());