net_instaweb::FakeUrlAsyncFetcher Class Reference

#include "fake_url_async_fetcher.h"

Inheritance diagram for net_instaweb::FakeUrlAsyncFetcher:
net_instaweb::UrlPollableAsyncFetcher net_instaweb::UrlAsyncFetcher

List of all members.

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)

Detailed Description

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.


Member Function Documentation

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.

Todo:
TODO(sligocki): GoogleString -> GoogleUrl

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.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Generated on Tue May 29 16:33:52 2012 for Page Speed Optimization Libraries by  doxygen 1.6.3