aboutsummaryrefslogtreecommitdiff
path: root/zenserver/testing/httptest.h
diff options
context:
space:
mode:
authorStefan Boberg <[email protected]>2021-09-13 12:24:59 +0200
committerStefan Boberg <[email protected]>2021-09-13 12:24:59 +0200
commit4e2649977d034b913413d2cb35d4a88afc30393f (patch)
tree9258d4329a2217d581aaedfb251a655692987d4d /zenserver/testing/httptest.h
parentAdded Ref<>::Get to work around issue casting a pointer to a derived type to ... (diff)
downloadzen-4e2649977d034b913413d2cb35d4a88afc30393f.tar.xz
zen-4e2649977d034b913413d2cb35d4a88afc30393f.zip
Changed interface for httpServerRequest::SessionId()/RequestId() so they share storage and lazy eval logic
They now call into ParseSessionId()/ParseRequestId() when required Eliminates redundant logic in derived implementations Also moved package transport code into httpshared.(cpp|h) for easier sharing with client code Added some I/O error reporting in http.sys related code Changed IHttpPackageHandler interface to support partially updated handling flow
Diffstat (limited to 'zenserver/testing/httptest.h')
-rw-r--r--zenserver/testing/httptest.h17
1 files changed, 12 insertions, 5 deletions
diff --git a/zenserver/testing/httptest.h b/zenserver/testing/httptest.h
index 2f3482abc..5809d4e2e 100644
--- a/zenserver/testing/httptest.h
+++ b/zenserver/testing/httptest.h
@@ -24,17 +24,24 @@ public:
class PackageHandler : public IHttpPackageHandler
{
public:
- PackageHandler(const HttpServerRequest& Request);
+ PackageHandler(HttpTestingService& Svc, uint32_t RequestId);
~PackageHandler();
- void FilterOffer(std::vector<IoHash>& OfferCids) override;
- void OnBeginChunks() override;
- IoBuffer CreateTarget(const IoHash& Cid, uint64_t StorageSize) override;
- void OnEndChunks() override;
+ virtual void FilterOffer(std::vector<IoHash>& OfferCids) override;
+ virtual void OnRequestBegin() override;
+ virtual IoBuffer CreateTarget(const IoHash& Cid, uint64_t StorageSize) override;
+ virtual void OnRequestComplete() override;
+
+ private:
+ HttpTestingService& m_Svc;
+ uint32_t m_RequestId;
};
private:
HttpRequestRouter m_Router;
+
+ RwLock m_RwLock;
+ std::unordered_map<uint32_t, Ref<PackageHandler>> m_HandlerMap;
};
} // namespace zen