ZenLib

Http_Handler.h
Go to the documentation of this file.
1/* Copyright (c) MediaArea.net SARL. All Rights Reserved.
2 *
3 * Use of this source code is governed by a zlib-style license that can
4 * be found in the License.txt file in the root of the source tree.
5 */
6
7//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8//
9// A HTTP Request
10//
11//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
12
13//---------------------------------------------------------------------------
14#ifndef ZenLib_Format_Http_RequestH
15#define ZenLib_Format_Http_RequestH
16//---------------------------------------------------------------------------
17
18//---------------------------------------------------------------------------
19#include "ZenLib/Format/Http/Http_Cookies.h"
20#include <vector>
21//---------------------------------------------------------------------------
22
23 namespace ZenLib
24{
25
26 namespace Format
27{
28
29 namespace Http
30{
31
32//***************************************************************************
33/// @brief
34//***************************************************************************
35
36 class Handler
37{
38 public:
39 //Constructor/Destructor
40 Handler();
41
42 //In
43 std::string Path; //The path being requested by this request
44 std::map<std::string, std::string> Request_Headers; //All the incoming HTTP headers from the client web browser.
45 std::map<std::string, std::string> Request_Cookies; //The set of cookies that came from the client along with this request
46 std::map<std::string, std::string> Request_Queries; //All the key/value pairs in the query string of this request
47 std::string Foreign_IP; //The foreign ip address for this request
48 std::string Local_IP; //The foreign port number for this request
49 unsigned short Foreign_Port; //The IP of the local interface this request is coming in on
50 unsigned short Local_Port; //The local port number this request is coming in on
51 bool HeadersOnly; //The request requests only the header
52
53 //Out
54 size_t Response_HTTP_Code; //HTTP code to be sent
55 std::map<std::string, std::string> Response_Headers; //Additional headers you wish to appear in the HTTP response to this request
56 Cookies Response_Cookies; //New cookies to pass back to the client along with the result of this request
57 std::string Response_Body; //To be displayed as the response to this request
58};
59
60} //Namespace
61
62} //Namespace
63
64} //Namespace
65
66#endif
Http_Cookies.h
ZenLib::Format::Http::Cookies
Definition: Http_Cookies.h:56
ZenLib::Format::Http::Handler
Definition: Http_Handler.h:37
ZenLib::Format::Http::Handler::Foreign_IP
std::string Foreign_IP
Definition: Http_Handler.h:47
ZenLib::Format::Http::Handler::Request_Queries
std::map< std::string, std::string > Request_Queries
Definition: Http_Handler.h:46
ZenLib::Format::Http::Handler::Response_Body
std::string Response_Body
Definition: Http_Handler.h:57
ZenLib::Format::Http::Handler::Local_IP
std::string Local_IP
Definition: Http_Handler.h:48
ZenLib::Format::Http::Handler::Request_Headers
std::map< std::string, std::string > Request_Headers
Definition: Http_Handler.h:44
ZenLib::Format::Http::Handler::Response_Cookies
Cookies Response_Cookies
Definition: Http_Handler.h:56
ZenLib::Format::Http::Handler::Response_HTTP_Code
size_t Response_HTTP_Code
Definition: Http_Handler.h:54
ZenLib::Format::Http::Handler::Handler
Handler()
ZenLib::Format::Http::Handler::HeadersOnly
bool HeadersOnly
Definition: Http_Handler.h:51
ZenLib::Format::Http::Handler::Request_Cookies
std::map< std::string, std::string > Request_Cookies
Definition: Http_Handler.h:45
ZenLib::Format::Http::Handler::Local_Port
unsigned short Local_Port
Definition: Http_Handler.h:50
ZenLib::Format::Http::Handler::Path
std::string Path
Definition: Http_Handler.h:43
ZenLib::Format::Http::Handler::Response_Headers
std::map< std::string, std::string > Response_Headers
Definition: Http_Handler.h:55
ZenLib::Format::Http::Handler::Foreign_Port
unsigned short Foreign_Port
Definition: Http_Handler.h:49
ZenLib
Definition: BitStream.h:24