NS-3 based Named Data Networking (NDN) simulator
ndnSIM 2.5: NDN, CCN, CCNx, content centric networks
API Documentation
request.hpp
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2014, Peter Thorson. All rights reserved.
3
*
4
* Redistribution and use in source and binary forms, with or without
5
* modification, are permitted provided that the following conditions are met:
6
* * Redistributions of source code must retain the above copyright
7
* notice, this list of conditions and the following disclaimer.
8
* * Redistributions in binary form must reproduce the above copyright
9
* notice, this list of conditions and the following disclaimer in the
10
* documentation and/or other materials provided with the distribution.
11
* * Neither the name of the WebSocket++ Project nor the
12
* names of its contributors may be used to endorse or promote products
13
* derived from this software without specific prior written permission.
14
*
15
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
16
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
17
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
18
* ARE DISCLAIMED. IN NO EVENT SHALL PETER THORSON BE LIABLE FOR ANY
19
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
20
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
21
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
22
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
24
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25
*
26
*/
27
28
#ifndef HTTP_PARSER_REQUEST_HPP
29
#define HTTP_PARSER_REQUEST_HPP
30
31
#include <string>
32
33
#include <
websocketpp/common/memory.hpp
>
34
#include <
websocketpp/http/parser.hpp
>
35
36
namespace
websocketpp
{
37
namespace
http {
38
namespace
parser {
39
41
50
class
request
:
public
parser
{
51
public
:
52
typedef
request
type
;
53
typedef
lib::shared_ptr<type>
ptr
;
54
55
request
()
56
: m_buf(lib::make_shared<
std
::string>())
57
, m_ready(false) {}
58
60
79
size_t
consume
(
char
const
* buf,
size_t
len);
80
82
bool
ready
()
const
{
83
return
m_ready;
84
}
85
87
std::string
raw
()
const
;
88
90
std::string
raw_head
()
const
;
91
93
void
set_method
(std::string
const
&
method
);
94
96
std::string
const
&
get_method
()
const
{
97
return
m_method;
98
}
99
101
void
set_uri
(std::string
const
&
uri
);
102
104
std::string
const
&
get_uri
()
const
{
105
return
m_uri;
106
}
107
108
private
:
110
void
process(std::string::iterator begin, std::string::iterator end);
111
112
lib::shared_ptr<std::string> m_buf;
113
std::string m_method;
114
std::string m_uri;
115
bool
m_ready;
116
};
117
118
}
// namespace parser
119
}
// namespace http
120
}
// namespace websocketpp
121
122
#include <
websocketpp/http/impl/request.hpp
>
123
124
#endif // HTTP_PARSER_REQUEST_HPP
websocketpp::http::parser::state::method
Definition:
parser.hpp:45
websocketpp::uri
Definition:
uri.hpp:49
std
STL namespace.
websocketpp::http::parser::request::ptr
lib::shared_ptr< type > ptr
Definition:
request.hpp:53
parser.hpp
websocketpp
Namespace for the WebSocket++ project.
Definition:
base64.hpp:41
websocketpp::http::parser::request::get_uri
std::string const & get_uri() const
Return the requested URI.
Definition:
request.hpp:104
websocketpp::http::parser::request::raw_head
std::string raw_head() const
Returns the raw request headers only (similar to an HTTP HEAD request)
Definition:
request.hpp:141
request.hpp
websocketpp::http::parser::request::set_uri
void set_uri(std::string const &uri)
Set the HTTP uri. Must be a valid HTTP uri.
Definition:
request.hpp:159
websocketpp::http::parser::request::get_method
std::string const & get_method() const
Return the request method.
Definition:
request.hpp:96
websocketpp::http::parser::request
Stores, parses, and manipulates HTTP requests.
Definition:
request.hpp:50
websocketpp::http::parser::request::consume
size_t consume(char const *buf, size_t len)
Process bytes in the input buffer.
Definition:
request.hpp:41
websocketpp::http::parser::request::type
request type
Definition:
request.hpp:52
websocketpp::http::parser::request::set_method
void set_method(std::string const &method)
Set the HTTP method. Must be a valid HTTP token.
Definition:
request.hpp:151
websocketpp::http::parser::parser
Base HTTP parser.
Definition:
parser.hpp:398
websocketpp::http::parser::request::raw
std::string raw() const
Returns the full raw request (including the body)
Definition:
request.hpp:131
websocketpp::http::parser::request::ready
bool ready() const
Returns whether or not the request is ready for reading.
Definition:
request.hpp:82
memory.hpp
websocketpp::http::parser::request::request
request()
Definition:
request.hpp:55
ndnSIM
NFD
websocketpp
websocketpp
http
request.hpp
Generated on Fri May 6 2022 12:34:15 for ndnSIM by
1.8.13