fastcgi++
Classes | Namespaces | Enumerations | Functions | Variables
http.hpp File Reference

Defines elements of the HTTP protocol. More...

#include <string>
#include <boost/shared_array.hpp>
#include <boost/scoped_array.hpp>
#include <boost/date_time/posix_time/posix_time.hpp>
#include <ostream>
#include <istream>
#include <cstring>
#include <sstream>
#include <algorithm>
#include <map>
#include <vector>
#include <fastcgi++/exceptions.hpp>
#include <fastcgi++/protocol.hpp>

Go to the source code of this file.

Classes

struct  Fastcgipp::Http::Post< charT >
 Holds a piece of HTTP post data. More...
class  Fastcgipp::Http::Address
 Efficiently stores IPv6 addresses. More...
struct  Fastcgipp::Http::Environment< charT >
 Data structure of HTTP environment data. More...
class  Fastcgipp::Http::SessionId
 Defines ID values for HTTP sessions. More...
class  Fastcgipp::Http::Sessions< T >
 Container for HTTP sessions. More...

Namespaces

namespace  Fastcgipp
 Topmost namespace for the fastcgi++ library.
namespace  Fastcgipp::Http
 Defines classes and function relating to the http protocol.

Enumerations

enum  Fastcgipp::Http::RequestMethod {
  Fastcgipp::Http::HTTP_METHOD_ERROR, Fastcgipp::Http::HTTP_METHOD_HEAD, Fastcgipp::Http::HTTP_METHOD_GET, Fastcgipp::Http::HTTP_METHOD_POST,
  Fastcgipp::Http::HTTP_METHOD_PUT, Fastcgipp::Http::HTTP_METHOD_DELETE, Fastcgipp::Http::HTTP_METHOD_TRACE, Fastcgipp::Http::HTTP_METHOD_OPTIONS,
  Fastcgipp::Http::HTTP_METHOD_CONNECT
}
 The HTTP request method as an enumeration. More...

Functions

template<class charT , class Traits >
std::basic_ostream< charT,
Traits > & 
Fastcgipp::Http::operator<< (std::basic_ostream< charT, Traits > &os, const RequestMethod requestMethod)
template<class charT , class Traits >
std::basic_ostream< charT,
Traits > & 
Fastcgipp::Http::operator<< (std::basic_ostream< charT, Traits > &os, const Address &address)
 Address stream insertion operation.
template<class charT , class Traits >
std::basic_istream< charT,
Traits > & 
Fastcgipp::Http::operator>> (std::basic_istream< charT, Traits > &is, Address &address)
 Address stream extractor operation.
void Fastcgipp::Http::charToString (const char *data, size_t size, std::wstring &string)
 Convert a char string to a std::wstring.
void Fastcgipp::Http::charToString (const char *data, size_t size, std::string &string)
 Convert a char string to a std::string.
int Fastcgipp::Http::atoi (const char *start, const char *end)
 Convert a char string to an integer.
template<class charT >
void Fastcgipp::Http::decodeUrlEncoded (const char *data, size_t size, std::map< std::basic_string< charT >, std::basic_string< charT > > &output, const char fieldSeperator='&')
 Decodes a url-encoded string into a container.
size_t Fastcgipp::Http::percentEscapedToRealBytes (const char *source, char *destination, size_t size)
 Convert a string with percent escaped byte values to their actual values.
template<class In , class Out >
void Fastcgipp::Http::base64Encode (In start, In end, Out destination)
 Convert a binary container of data to a Base64 encoded container.
template<class In , class Out >
Out Fastcgipp::Http::base64Decode (In start, In end, Out destination)
 Convert a Base64 encoded container to a binary container.
template<class charT , class Traits >
std::basic_ostream< charT,
Traits > & 
Fastcgipp::Http::operator<< (std::basic_ostream< charT, Traits > &os, const SessionId &x)
 Output the ID data in base64 encoding.

Variables

const char * Fastcgipp::Http::requestMethodLabels []
const char Fastcgipp::Http::base64Characters [] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
 List of characters in order for Base64 encoding.

Detailed Description

Defines elements of the HTTP protocol.

Definition in file http.hpp.