std::string HTTPRequest::requestMethod() const { WtReplyPtr p = reply_; if (!p.get()) return std::string(); return p->request().method; }
std::string HTTPRequest::pathInfo() const { WtReplyPtr p = reply_; if (!p.get()) return std::string(); return p->request().request_extra_path; }
std::string HTTPRequest::scriptName() const { WtReplyPtr p = reply_; if (!p.get()) return std::string(); return p->request().request_path; }
std::string HTTPRequest::remoteAddr() const { WtReplyPtr p = reply_; if (!p.get()) return std::string(); return p->request().remoteIP; }
std::string HTTPRequest::serverName() const { WtReplyPtr p = reply_; if (!p.get()) return std::string(); return p->configuration().serverName(); }
const char *HTTPRequest::urlScheme() const { WtReplyPtr p = reply_; if (!p.get()) return "http"; return p->request().urlScheme; }
std::string HTTPRequest::urlScheme() const { WtReplyPtr p = reply_; if (!p.get()) return std::string(); return p->urlScheme(); }
const char * HTTPRequest::requestMethod() const { WtReplyPtr p = reply_; if (!p.get()) return 0; return cstr(p->request().method); }
::int64_t HTTPRequest::contentLength() const { WtReplyPtr p = reply_; if (!p.get()) return 0; return p->request().contentLength; }
std::string HTTPRequest::queryString() const { WtReplyPtr p = reply_; if (!p.get()) return std::string(); return p->request().request_query; }
std::string HTTPRequest::serverPort() const { WtReplyPtr p = reply_; if (!p.get()) return std::string(); return boost::lexical_cast<std::string>(p->request().port); }
void HTTPRequest::flush(ResponseState state, CallbackFunction callback) { WtReplyPtr ptr = reply_; if (state == ResponseDone) reply_.reset(); ptr->send(callback, state == ResponseDone); }
void HTTPRequest::flush(ResponseState state, CallbackFunction callback) { WtReplyPtr ptr = reply_; if (state == ResponseDone) reply_.reset(); std::string s = outstream_.str(); outstream_.str(""); ptr->send(s, callback, state == ResponseDone); }
const std::string& HTTPRequest::serverPort() const { WtReplyPtr p = reply_; if (!p.get()) return empty_; if (serverPort_.empty()) serverPort_ = boost::lexical_cast<std::string>(p->request().port); return serverPort_; }
std::string HTTPRequest::headerValue(const std::string& name) const { WtReplyPtr p = reply_; if (!p.get()) return std::string(); Request::HeaderMap::const_iterator i = p->request().headerMap.find(name); if (i != p->request().headerMap.end()) return i->second; else return std::string(); }
const char *HTTPRequest::headerValue(const char *name) const { WtReplyPtr p = reply_; if (!p.get()) return 0; const Request::Header *i = p->request().getHeader(name); if (i) return cstr(i->value); else return 0; }
void HTTPRequest::flush(ResponseState state, const WriteCallback& callback) { WtReplyPtr ptr = reply_; if (done()) return; if (state == ResponseDone) reply_.reset(); ptr->send(callback, state == ResponseDone); }
Wt::Http::HeaderMap HTTPRequest::headers() const { Wt::Http::HeaderMap headerMap; WtReplyPtr p = reply_; if (!p.get()) return headerMap; std::list<Request::Header> headers = p->request().headers; for (std::list<Request::Header>::const_iterator it=headers.begin(); it != headers.end(); ++it){ headerMap.insert(std::pair<std::string,std::string>(cstr(it->name),cstr(it->value))); } return headerMap; }