Beispiel #1
0
std::string HTTPRequest::requestMethod() const
{
  WtReplyPtr p = reply_;
  if (!p.get())
    return std::string();

  return p->request().method;
}
Beispiel #2
0
std::string HTTPRequest::pathInfo() const
{
  WtReplyPtr p = reply_;
  if (!p.get())
    return std::string();

  return p->request().request_extra_path;
}
Beispiel #3
0
std::string HTTPRequest::scriptName() const
{
  WtReplyPtr p = reply_;
  if (!p.get())
    return std::string();

  return p->request().request_path;
}
Beispiel #4
0
std::string HTTPRequest::remoteAddr() const
{
  WtReplyPtr p = reply_;
  if (!p.get())
    return std::string();

  return p->request().remoteIP;
}
Beispiel #5
0
std::string HTTPRequest::serverName() const
{
  WtReplyPtr p = reply_;
  if (!p.get())
    return std::string();

  return p->configuration().serverName();
}
Beispiel #6
0
const char *HTTPRequest::urlScheme() const
{
  WtReplyPtr p = reply_;
  if (!p.get())
    return "http";

  return p->request().urlScheme;
}
Beispiel #7
0
std::string HTTPRequest::urlScheme() const
{
  WtReplyPtr p = reply_;
  if (!p.get())
    return std::string();

  return p->urlScheme();
}
Beispiel #8
0
const char * HTTPRequest::requestMethod() const
{
  WtReplyPtr p = reply_;
  if (!p.get())
    return 0;

  return cstr(p->request().method);
}
Beispiel #9
0
::int64_t HTTPRequest::contentLength() const
{
  WtReplyPtr p = reply_;
  if (!p.get())
    return 0;

  return p->request().contentLength;
}
Beispiel #10
0
std::string HTTPRequest::queryString() const
{
  WtReplyPtr p = reply_;
  if (!p.get())
    return std::string();

  return p->request().request_query;
}
Beispiel #11
0
std::string HTTPRequest::serverPort() const
{
  WtReplyPtr p = reply_;
  if (!p.get())
    return std::string();

  return boost::lexical_cast<std::string>(p->request().port);
}
Beispiel #12
0
void HTTPRequest::flush(ResponseState state, CallbackFunction callback)
{
  WtReplyPtr ptr = reply_;

  if (state == ResponseDone)
    reply_.reset();

  ptr->send(callback, state == ResponseDone);
}
Beispiel #13
0
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);
}
Beispiel #14
0
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_;
}
Beispiel #15
0
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();
}
Beispiel #16
0
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;
}
Beispiel #17
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);
}
Beispiel #18
0
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;
}