Package com.jcabi.http.wire
Class FcWire
java.lang.Object
com.jcabi.http.wire.FcWire
- All Implemented Interfaces:
Wire
Wire that caches GET requests.
This decorator can be used when you want to avoid duplicate GET requests to load-sensitive resources, for example:
String html = new JdkRequest("http://goggle.com")
.through(FileCachingWire.class)
.header(HttpHeaders.ACCEPT, MediaType.TEXT_PLAIN)
.fetch()
.body();
You can also configure it to flush the entire cache on certain request URI's, for example:
new JdkRequest(uri)
.through(CachingWire.class, "GET /save/.*")
.uri().path("/save/123").back()
.fetch();
The regular expression provided will be used against a string constructed as an HTTP method, space, path of the URI together with query part.
The class is immutable and thread-safe.
- Since:
- 1.16
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionsend(Request req, String home, String method, Collection<Map.Entry<String, String>> headers, InputStream content, int connect, int read) Send request and return response.
-
Constructor Details
-
FcWire
Public ctor.- Parameters:
wire- Original wire
-
FcWire
Public ctor.- Parameters:
wire- Original wireflsh- Flushing regular expression
-
FcWire
Public ctor.- Parameters:
wire- Original wireflsh- Flushing regular expressionpath- Path for the files
-
FcWire
Public ctor.- Parameters:
wire- Original wireflsh- Flushing regular expressionfcc- Cache
-
-
Method Details
-
send
public Response send(Request req, String home, String method, Collection<Map.Entry<String, String>> headers, InputStream content, int connect, int read) throws IOExceptionDescription copied from interface:WireSend request and return response.- Specified by:
sendin interfaceWire- Parameters:
req- Requesthome- URI to fetchmethod- HTTP methodheaders- Headerscontent- HTTP bodyconnect- The connect timeoutread- The read timeout- Returns:
- Response obtained
- Throws:
IOException- if fails
-