summaryrefslogtreecommitdiff
path: root/src/http.hh
diff options
context:
space:
mode:
Diffstat (limited to 'src/http.hh')
-rw-r--r--src/http.hh18
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: