Logo
~Sockets~
~Examples~
~Contact~


HttpTransaction Class Reference

#include <HttpTransaction.h>

Inheritance diagram for HttpTransaction:
Collaboration diagram for HttpTransaction:

List of all members.


Public Member Functions

 HttpTransaction ()
virtual ~HttpTransaction ()
void SetHeader (const std::string &key, const std::string &value)
 Set / Read http header value.
void SetHeader (const std::string &key, long value)
const std::string & Header (const std::string &key) const
void SetAccept (const std::string &value)
const std::string & Accept () const
void SetAcceptCharset (const std::string &value)
const std::string & AcceptCharset () const
void SetAcceptEncoding (const std::string &value)
const std::string & AcceptEncoding () const
void SetAcceptLanguage (const std::string &value)
const std::string & AcceptLanguage () const
void SetConnection (const std::string &value)
const std::string & Connection () const
void SetContentType (const std::string &value)
const std::string & ContentType () const
void SetContentLength (long value)
long ContentLength () const
void SetHost (const std::string &value)
const std::string & Host () const
const std::string HostOnly () const
void SetPragma (const std::string &value)
const std::string & Pragma () const
void SetReferer (const std::string &value)
const std::string & Referer () const
void SetUserAgent (const std::string &value)
const std::string & UserAgent () const
const Utility::ncmap
< std::string > & 
Headers () const
virtual void Reset ()

Private Attributes

Utility::ncmap< std::string > m_header
std::string m_null

Detailed Description

Definition at line 44 of file HttpTransaction.h.


Constructor & Destructor Documentation

HttpTransaction::HttpTransaction (  ) 

Definition at line 44 of file HttpTransaction.cpp.

00045 {
00046 }

HttpTransaction::~HttpTransaction (  )  [virtual]

Definition at line 50 of file HttpTransaction.cpp.

00051 {
00052 }


Member Function Documentation

void HttpTransaction::SetHeader ( const std::string &  key,
const std::string &  value 
)

void HttpTransaction::SetHeader ( const std::string &  key,
long  value 
)

Definition at line 62 of file HttpTransaction.cpp.

References Utility::l2string(), and m_header.

00063 {
00064         m_header[key] = Utility::l2string(value);
00065 }

const std::string & HttpTransaction::Header ( const std::string &  key  )  const

Definition at line 68 of file HttpTransaction.cpp.

References m_header, and m_null.

Referenced by Accept(), AcceptCharset(), AcceptEncoding(), AcceptLanguage(), Connection(), ContentLength(), ContentType(), HttpBaseSocket::Execute(), Host(), HostOnly(), HttpBaseSocket::OnHeaderComplete(), Pragma(), Referer(), and UserAgent().

00069 {
00070         Utility::ncmap<std::string>::const_iterator it;
00071         if ((it = m_header.find(key)) != m_header.end())
00072                 return it -> second;
00073         return m_null;
00074 }

void HttpTransaction::SetAccept ( const std::string &  value  ) 

Definition at line 79 of file HttpTransaction.cpp.

References SetHeader().

00080 {
00081         SetHeader("accept", value);
00082 }

const std::string & HttpTransaction::Accept (  )  const

Definition at line 85 of file HttpTransaction.cpp.

References Header().

00086 {
00087         return Header("accept");
00088 }

void HttpTransaction::SetAcceptCharset ( const std::string &  value  ) 

Definition at line 93 of file HttpTransaction.cpp.

References SetHeader().

00094 {
00095         SetHeader("accept-charset", value);
00096 }

const std::string & HttpTransaction::AcceptCharset (  )  const

Definition at line 99 of file HttpTransaction.cpp.

References Header().

00100 {
00101         return Header("accept-charset");
00102 }

void HttpTransaction::SetAcceptEncoding ( const std::string &  value  ) 

Definition at line 107 of file HttpTransaction.cpp.

References SetHeader().

00108 {
00109         SetHeader("accept-encoding", value);
00110 }

const std::string & HttpTransaction::AcceptEncoding (  )  const

Definition at line 113 of file HttpTransaction.cpp.

References Header().

00114 {
00115         return Header("accept-encoding");
00116 }

void HttpTransaction::SetAcceptLanguage ( const std::string &  value  ) 

Definition at line 121 of file HttpTransaction.cpp.

References SetHeader().

00122 {
00123         SetHeader("accept-language", value);
00124 }

const std::string & HttpTransaction::AcceptLanguage (  )  const

Definition at line 127 of file HttpTransaction.cpp.

References Header().

00128 {
00129         return Header("accept-language");
00130 }

void HttpTransaction::SetConnection ( const std::string &  value  ) 

Definition at line 135 of file HttpTransaction.cpp.

References SetHeader().

00136 {
00137         SetHeader("connection", value);
00138 }

const std::string & HttpTransaction::Connection (  )  const

Definition at line 141 of file HttpTransaction.cpp.

References Header().

00142 {
00143         return Header("connection");
00144 }

void HttpTransaction::SetContentType ( const std::string &  value  ) 

Definition at line 149 of file HttpTransaction.cpp.

References SetHeader().

00150 {
00151         SetHeader("content-type", value);
00152 }

const std::string & HttpTransaction::ContentType (  )  const

Definition at line 155 of file HttpTransaction.cpp.

References Header().

Referenced by HttpRequest::ParseBody().

00156 {
00157         return Header("content-type");
00158 }

void HttpTransaction::SetContentLength ( long  value  ) 

Definition at line 163 of file HttpTransaction.cpp.

References SetHeader().

00164 {
00165         SetHeader("content-length", value );
00166 }

long HttpTransaction::ContentLength (  )  const

Definition at line 169 of file HttpTransaction.cpp.

References Header().

Referenced by Ajp13Socket::IHttpServer_Respond(), HttpRequest::ParseBody(), and Ajp13Socket::ReceiveForwardRequest().

00170 {
00171         return atol(Header("content-length").c_str());
00172 }

void HttpTransaction::SetHost ( const std::string &  value  ) 

Definition at line 177 of file HttpTransaction.cpp.

References SetHeader().

00178 {
00179         SetHeader("host", value);
00180 }

const std::string & HttpTransaction::Host (  )  const

Definition at line 183 of file HttpTransaction.cpp.

References Header().

00184 {
00185         return Header("host");
00186 }

const std::string HttpTransaction::HostOnly (  )  const

Definition at line 189 of file HttpTransaction.cpp.

References Header().

00190 {
00191         std::string host = Header("host");
00192         size_t pos = host.find(":");
00193         if (pos != std::string::npos)
00194                 return host.substr(0, pos);
00195         return host;
00196 }

void HttpTransaction::SetPragma ( const std::string &  value  ) 

Definition at line 201 of file HttpTransaction.cpp.

References SetHeader().

00202 {
00203         SetHeader("pragma", value);
00204 }

const std::string & HttpTransaction::Pragma (  )  const

Definition at line 207 of file HttpTransaction.cpp.

References Header().

00208 {
00209         return Header("pragma");
00210 }

void HttpTransaction::SetReferer ( const std::string &  value  ) 

Definition at line 215 of file HttpTransaction.cpp.

References SetHeader().

00216 {
00217         SetHeader("referer", value);
00218 }

const std::string & HttpTransaction::Referer (  )  const

Definition at line 221 of file HttpTransaction.cpp.

References Header().

00222 {
00223         return Header("referer");
00224 }

void HttpTransaction::SetUserAgent ( const std::string &  value  ) 

Definition at line 229 of file HttpTransaction.cpp.

References SetHeader().

00230 {
00231         SetHeader("user-agent", value);
00232 }

const std::string & HttpTransaction::UserAgent (  )  const

Definition at line 235 of file HttpTransaction.cpp.

References Header().

00236 {
00237         return Header("user-agent");
00238 }

const Utility::ncmap< std::string > & HttpTransaction::Headers (  )  const

Definition at line 242 of file HttpTransaction.cpp.

References m_header.

Referenced by HttpBaseSocket::IHttpServer_Respond(), and Ajp13Socket::IHttpServer_Respond().

00243 {
00244         return m_header;
00245 }

void HttpTransaction::Reset (  )  [virtual]

Reimplemented in HttpRequest, and HttpResponse.

Definition at line 249 of file HttpTransaction.cpp.

References m_header.

Referenced by HttpResponse::Reset(), and HttpRequest::Reset().

00250 {
00251         while (!m_header.empty())
00252         {
00253                 m_header.erase(m_header.begin());
00254         }
00255 }


Member Data Documentation

Utility::ncmap<std::string> HttpTransaction::m_header [private]

Definition at line 94 of file HttpTransaction.h.

Referenced by Header(), Headers(), Reset(), and SetHeader().

std::string HttpTransaction::m_null [private]

Reimplemented in HttpRequest.

Definition at line 95 of file HttpTransaction.h.

Referenced by Header().


The documentation for this class was generated from the following files:
Page, code, and content Copyright (C) 2007 by Anders Hedström
Generated for C++ Sockets by  doxygen 1.4.4