+ void setResponseLength(unsigned int l);
+ virtual unsigned int responseLength() const;
+
+ /**
+ * Query the size of the request body. -1 (the default value) means no
+ * request body
+ */
+ virtual int requestBodyLength() const;
+
+ /**
+ * Retrieve the body data bytes. Will be passed the maximum body bytes
+ * to return in the buffer, and should update count with the actual number
+ * of bytes written.
+ */
+ virtual void getBodyData(char* s, int& count) const;
+
+ /**
+ * retrieve the request body content type. Default is text/plain
+ */
+ virtual std::string requestBodyType() const;
+
+ /**
+ * running total of body bytes received so far. Can be used
+ * to generate a completion percentage, if the response length is
+ * known.
+ */
+ unsigned int responseBytesReceived() const
+ { return _receivedBodyBytes; }
+
+ enum HTTPVersion {
+ HTTP_VERSION_UNKNOWN = 0,
+ HTTP_0_x, // 0.9 or similar
+ HTTP_1_0,
+ HTTP_1_1
+ };
+
+ HTTPVersion responseVersion() const
+ { return _responseVersion; }