Dear All,
I have modified the Wt::Http::Request to allow to get contentStream,
contentType, userAgent and remoteAddr.
It will allow WResource to get more information from the Http Request.
Regards,
Hilary
--- wt-3.1.0-original/src/Wt/Http/Request 2009-12-29 00:10:09.000000000 +0800
+++ wt-3.1.0/src/Wt/Http/Request 2010-01-12 12:36:11.000000000 +0800
@@ -9,6 +9,7 @@
#include <map>
#include <string>
+#include <sstream>
#include <vector>
#include <boost/shared_ptr.hpp>
@@ -209,6 +210,26 @@
*/
std::string urlScheme() const;
+ /*! \brief Returns InStream for Body, If it is form or multipart-form, it will already consume
+ */
+ std::istream &in() const;
+
+ /*! \brief Returns Content Type of the Body
+ */
+ std::string contentType() const;
+
+ /*! \brief Returns Content Length of the Body
+ */
+ int contentLength() const;
+
+ /*! \brief Returns User Agent of the Request
+ */
+ std::string userAgent() const;
+
+ /*! \brief Returns Remote Address of the Request
+ */
+ std::string remoteAddr() const;
+
private:
const WebRequest *request_;
const ParameterMap& parameters_;
--- wt-3.1.0-original/src/Wt/Http/Request.C 2009-12-29 00:10:09.000000000 +0800
+++ wt-3.1.0/src/Wt/Http/Request.C 2010-01-14 20:34:08.000000000 +0800
@@ -109,6 +109,40 @@
return request_ ? request_->postDataExceeded() : 0;
}
+std::istream &Request::in() const
+{
+ if (request_ != NULL) {
+ WebRequest *web = (WebRequest *) request_;
+ std::istream &i = web->in();
+
+ return i;
+ } else {
+ std::istringstream *i = new std::istringstream();
+
+ return *i;
+ }
+}
+
+std::string Request::contentType() const
+{
+ return request_ ? request_->contentType() : std::string();
+}
+
+int Request::contentLength() const
+{
+ return request_ ? request_->contentLength() : 0;
+}
+
+std::string Request::userAgent() const
+{
+ return request_ ? request_->userAgent() : std::string();
+}
+
+std::string Request::remoteAddr() const
+{
+ return request_ ? request_->remoteAddr() : std::string();
+}
+
Request::Request(const WebRequest& request, ResponseContinuation *continuation)
: request_(&request),
parameters_(request.getParameterMap()),
------------------------------------------------------------------------------
Throughout its 18-year history, RSA Conference consistently attracts the
world's best and brightest in the field, creating opportunities for Conference
attendees to learn about information security's most important issues through
interactions with peers, luminaries and emerging and established companies.
http://p.sf.net/sfu/rsaconf-dev2dev
_______________________________________________
witty-interest mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/witty-interest