diff options
Diffstat (limited to 'src/http.hh')
| -rw-r--r-- | src/http.hh | 18 |
1 files changed, 17 insertions, 1 deletions
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<HeaderIterator> header( std::string const& name) const = 0; std::string first_header(std::string const& name) const; - + virtual std::unique_ptr<HeaderTokenIterator> header_tokens( + std::string const& name) const = 0; + virtual char const* data() const = 0; virtual size_t size() const = 0; protected: |
