#include "fake_url_async_fetcher.h"
Public Member Functions | |
FakeUrlAsyncFetcher (UrlFetcher *url_fetcher) | |
virtual bool | SupportsHttps () const |
virtual bool | StreamingFetch (const GoogleString &url, const RequestHeaders &request_headers, ResponseHeaders *response_headers, Writer *writer, MessageHandler *handler, Callback *callback) |
virtual int | Poll (int64 max_wait_ms) |
void | set_fetcher_supports_https (bool val) |
Constructs an async fetcher using a synchronous fetcher, blocking on a fetch and then the 'done' callback directly. It's also possible to construct a real async interface using a synchronous fetcher in a thread, but this does not do that: it blocks.
This is intended for functional regression tests only.
virtual int net_instaweb::FakeUrlAsyncFetcher::Poll | ( | int64 | max_wait_ms | ) | [inline, virtual] |
Since the underlying fetcher is blocking, there can never be any outstanding fetches.
Implements net_instaweb::UrlPollableAsyncFetcher.
virtual bool net_instaweb::FakeUrlAsyncFetcher::StreamingFetch | ( | const GoogleString & | url, | |
const RequestHeaders & | request_headers, | |||
ResponseHeaders * | response_headers, | |||
Writer * | response_writer, | |||
MessageHandler * | message_handler, | |||
Callback * | callback | |||
) | [inline, virtual] |
Fetch a URL, set response_headers and stream the output to response_writer. response_headers and response_writer must be valid until callback->Done().
There is an unchecked contract that response_headers are set before the response_writer or callback are used. Caution, several implementations do not satisfy this contract (but should).
This function returns true if the request was immediately satisfied. In either case, the callback will be called with the completion status, so it's safe to ignore the return value.
Default implementation uses Fetch. So derivative classes only need to define one of these functions.
Reimplemented from net_instaweb::UrlAsyncFetcher.
virtual bool net_instaweb::FakeUrlAsyncFetcher::SupportsHttps | ( | ) | const [inline, virtual] |
Determine if the fetcher supports fetching using HTTPS. By default we assume a fetcher can.
Reimplemented from net_instaweb::UrlAsyncFetcher.