From 178bb3a1ceab88f29aa7d0ceb453e76de172fd27 Mon Sep 17 00:00:00 2001 From: Joel Klinghed Date: Sun, 6 Aug 2017 22:23:41 +0200 Subject: Add protools, used for getting content out of packages Only HTTP protocol implemented yet, but with gzip, deflate and bzip2 suport --- src/http.hh | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) (limited to 'src/http.hh') diff --git a/src/http.hh b/src/http.hh index 9a084d2..2a4353d 100644 --- a/src/http.hh +++ b/src/http.hh @@ -42,6 +42,20 @@ protected: HeaderIterator(HeaderIterator const&) = delete; }; +class HeaderTokenIterator { +public: + virtual ~HeaderTokenIterator() {} + + virtual bool valid() const = 0; + virtual std::string token() const = 0; + virtual bool token_equal(std::string const& name) const = 0; + virtual void next() = 0; + +protected: + HeaderTokenIterator() {} + HeaderTokenIterator(HeaderTokenIterator const&) = delete; +}; + class Http { public: virtual ~Http() {} @@ -55,7 +69,9 @@ public: virtual std::unique_ptr header( std::string const& name) const = 0; std::string first_header(std::string const& name) const; - + virtual std::unique_ptr header_tokens( + std::string const& name) const = 0; + virtual char const* data() const = 0; virtual size_t size() const = 0; protected: -- cgit v1.2.3-70-g09d2