public class SelectorReplayDispatcher extends Object implements ReplayDispatcher
Optionally it can be configured with MimeTypeDetector
s used for
overriding unknown ("unk"
) or often-misused ("text/html"
)
value of CaptureSearchResult.getMimeType()
.
Modifier and Type | Field and Description |
---|---|
static String |
DEFAULT_MISSING_MIMETYPE |
static String[] |
DEFAULT_UNTRUSTFUL_MIMETYPES
default value for
untrustfulMimeTypes |
Constructor and Description |
---|
SelectorReplayDispatcher() |
Modifier and Type | Method and Description |
---|---|
CaptureSearchResult |
getClosest(WaybackRequest wbRequest,
CaptureSearchResults results) |
ClosestResultSelector |
getClosestSelector() |
List<MimeTypeDetector> |
getMimeTypeDetectors() |
String |
getMissingMimeType() |
ReplayRenderer |
getRenderer(WaybackRequest wbRequest,
CaptureSearchResult result,
Resource resource)
Return a ReplayRenderer appropriate for the Resource.
|
ReplayRenderer |
getRenderer(WaybackRequest wbRequest,
CaptureSearchResult result,
Resource httpHeadersResource,
Resource payloadResource)
Return a ReplayRenderer appropriate for the replaying the http headers
from
httpHeadersResource and the payload from
payloadResource . |
List<ReplayRendererSelector> |
getSelectors() |
void |
setClosestSelector(ClosestResultSelector closestSelector) |
void |
setMimeTypeDetectors(List<MimeTypeDetector> sniffers) |
void |
setMissingMimeType(String missingMimeType)
Value of
mimetype field indicating Content-Type
is unavailable in the response. |
void |
setSelectors(List<ReplayRendererSelector> selectors) |
void |
setUntrustfulMimeTypes(List<String> untrustfulMimeTypes)
A list of
mimetype values that cannot be fully trusted. |
protected boolean |
shouldDetectMimeType(String mimeType)
check if mime-type detection is suggested for mimeType.
|
public static final String DEFAULT_MISSING_MIMETYPE
public static final String[] DEFAULT_UNTRUSTFUL_MIMETYPES
untrustfulMimeTypes
public void setUntrustfulMimeTypes(List<String> untrustfulMimeTypes)
mimetype
values that cannot be fully trusted.
For captures whose mimetype
prefix-matches any of these,
SelectorReplayDispatcher will attempt to detect actual mime-type
with mimeTypeDetector
(if configured).
Value set to missingMimeType
is always considered
untrustful. You don't need to include it in this list.
If passed null
, default DEFAULT_UNTRUSTFUL_MIMETYPES
will be used. If set to an empty array, detection is applied only to
captures without Content-Type
header.
untrustfulMimeTypes
- list of mime-type prefixespublic void setMissingMimeType(String missingMimeType)
mimetype
field indicating Content-Type
is unavailable in the response.
Default is unk
(compatible with CDX-Writer).
IndexWorker
puts application/http
, apparently.missingMimeType
- public String getMissingMimeType()
protected boolean shouldDetectMimeType(String mimeType)
mimeType
- mime-type to test (must not be null/empty/"unk")true
if mime-type should be determined
by looking into Resource.public ReplayRenderer getRenderer(WaybackRequest wbRequest, CaptureSearchResult result, Resource resource)
ReplayDispatcher
getRenderer
in interface ReplayDispatcher
wbRequest
- WaybackRequest being handled.result
- CapturSearchResult from the ResourceIndex which is
being returned.resource
- Resource as returned by ResourceStore which should
be returned to the user.public ReplayRenderer getRenderer(WaybackRequest wbRequest, CaptureSearchResult result, Resource httpHeadersResource, Resource payloadResource)
ReplayDispatcher
httpHeadersResource
and the payload from
payloadResource
.getRenderer
in interface ReplayDispatcher
wbRequest
- WaybackRequest being handled.result
- CapturSearchResult from the ResourceIndex which is
being returned.public CaptureSearchResult getClosest(WaybackRequest wbRequest, CaptureSearchResults results)
getClosest
in interface ReplayDispatcher
wbRequest
- the Request being handledresults
- the CaptureSearchResults from the ResourceIndexpublic List<ReplayRendererSelector> getSelectors()
public void setSelectors(List<ReplayRendererSelector> selectors)
selectors
- the List of ReplayRendererSelector to usepublic List<MimeTypeDetector> getMimeTypeDetectors()
public void setMimeTypeDetectors(List<MimeTypeDetector> sniffers)
public void setClosestSelector(ClosestResultSelector closestSelector)
closestSelector
- the closestSelector to setpublic ClosestResultSelector getClosestSelector()
Copyright © 2005–2015 IIPC. All rights reserved.