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
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 43 of file HttpTransaction.cpp.

00044 {
00045 }

HttpTransaction::~HttpTransaction (  )  [virtual]

Definition at line 49 of file HttpTransaction.cpp.

00050 {
00051 }


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 61 of file HttpTransaction.cpp.

References Utility::l2string(), and m_header.

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

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

Definition at line 67 of file HttpTransaction.cpp.

References m_header, and m_null.

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

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

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

Definition at line 78 of file HttpTransaction.cpp.

References SetHeader().

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

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

Definition at line 84 of file HttpTransaction.cpp.

References Header().

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

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

Definition at line 92 of file HttpTransaction.cpp.

References SetHeader().

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

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

Definition at line 98 of file HttpTransaction.cpp.

References Header().

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

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

Definition at line 106 of file HttpTransaction.cpp.

References SetHeader().

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

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

Definition at line 112 of file HttpTransaction.cpp.

References Header().

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

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

Definition at line 120 of file HttpTransaction.cpp.

References SetHeader().

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

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

Definition at line 126 of file HttpTransaction.cpp.

References Header().

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

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

Definition at line 134 of file HttpTransaction.cpp.

References SetHeader().

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

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

Definition at line 140 of file HttpTransaction.cpp.

References Header().

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

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

Definition at line 148 of file HttpTransaction.cpp.

References SetHeader().

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

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

Definition at line 154 of file HttpTransaction.cpp.

References Header().

Referenced by HttpRequest::ParseBody().

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

void HttpTransaction::SetContentLength ( long  value  ) 

Definition at line 162 of file HttpTransaction.cpp.

References SetHeader().

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

long HttpTransaction::ContentLength (  )  const

Definition at line 168 of file HttpTransaction.cpp.

References Header().

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

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

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

Definition at line 176 of file HttpTransaction.cpp.

References SetHeader().

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

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

Definition at line 182 of file HttpTransaction.cpp.

References Header().

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

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

Definition at line 190 of file HttpTransaction.cpp.

References SetHeader().

00191 {
00192         SetHeader("pragma", value);
00193 }

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

Definition at line 196 of file HttpTransaction.cpp.

References Header().

00197 {
00198         return Header("pragma");
00199 }

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

Definition at line 204 of file HttpTransaction.cpp.

References SetHeader().

00205 {
00206         SetHeader("referer", value);
00207 }

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

Definition at line 210 of file HttpTransaction.cpp.

References Header().

00211 {
00212         return Header("referer");
00213 }

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

Definition at line 218 of file HttpTransaction.cpp.

References SetHeader().

00219 {
00220         SetHeader("user-agent", value);
00221 }

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

Definition at line 224 of file HttpTransaction.cpp.

References Header().

00225 {
00226         return Header("user-agent");
00227 }

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

Definition at line 231 of file HttpTransaction.cpp.

References m_header.

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

00232 {
00233         return m_header;
00234 }

void HttpTransaction::Reset (  )  [virtual]

Reimplemented in HttpRequest, and HttpResponse.

Definition at line 238 of file HttpTransaction.cpp.

References m_header.

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

00239 {
00240         while (!m_header.empty())
00241         {
00242                 m_header.erase(m_header.begin());
00243         }
00244 }


Member Data Documentation

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

Definition at line 93 of file HttpTransaction.h.

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

std::string HttpTransaction::m_null [private]

Reimplemented in HttpRequest.

Definition at line 94 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