8 class CachedHttp : public Http {
10 CachedHttp(Http &http = Http::instance(), const char *name = "http");
11 void setMaxSeconds(uint seconds);
12 void setMaxSize(uint maxSize);
13 void setCachePostRequests(bool value) { cachePostRequests = value; }
14 void setIgnoreHostname(bool value) { ignoreHostname = value; }
15 HttpReply *request(const HttpRequest &req);
18 QByteArray requestHash(const HttpRequest &req);
22 bool cachePostRequests;
23 bool ignoreHostname = false;
26 class CachedHttpReply : public HttpReply {
30 CachedHttpReply(const QByteArray &body, const HttpRequest &req);
31 QUrl url() const { return req.url; }
32 int statusCode() const { return 200; }
33 QByteArray body() const;
39 const QByteArray bytes;
40 const HttpRequest req;
43 class WrappedHttpReply : public HttpReply {
47 WrappedHttpReply(LocalCache *cache, const QByteArray &key, HttpReply *httpReply);
48 QUrl url() const { return httpReply->url(); }
49 int statusCode() const { return httpReply->statusCode(); }
50 QByteArray body() const { return httpReply->body(); }
53 void originFinished(const HttpReply &reply);
61 #endif // CACHEDHTTP_H