NS-3 based Named Data Networking (NDN) simulator
ndnSIM 2.5: NDN, CCN, CCNx, content centric networks
API Documentation
hybi08.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 WEBSOCKETPP_PROCESSOR_HYBI08_HPP
29
#define WEBSOCKETPP_PROCESSOR_HYBI08_HPP
30
31
#include <
websocketpp/processors/hybi13.hpp
>
32
33
#include <string>
34
#include <vector>
35
36
namespace
websocketpp
{
37
namespace
processor {
38
40
43
template
<
typename
config>
44
class
hybi08
:
public
hybi13
<config> {
45
public
:
46
typedef
hybi08<config>
type
;
47
typedef
typename
config::request_type
request_type
;
48
49
typedef
typename
config::con_msg_manager_type::ptr
msg_manager_ptr
;
50
typedef
typename
config::rng_type
rng_type
;
51
52
explicit
hybi08
(
bool
secure,
bool
p_is_server, msg_manager_ptr manager, rng_type& rng)
53
:
hybi13
<
config
>(secure, p_is_server, manager, rng) {}
54
56
64
lib::error_code
client_handshake_request
(request_type &,
uri_ptr
,
65
std::vector<std::string>
const
&)
const
66
{
67
return
error::make_error_code
(
error::no_protocol_support
);
68
}
69
70
int
get_version
()
const
{
71
return
8;
72
}
73
74
std::string
const
&
get_origin
(request_type
const
& r)
const
{
75
return
r.
get_header
(
"Sec-WebSocket-Origin"
);
76
}
77
private
:
78
};
79
80
}
// namespace processor
81
}
// namespace websocketpp
82
83
#endif //WEBSOCKETPP_PROCESSOR_HYBI08_HPP
websocketpp::http::parser::parser::get_header
std::string const & get_header(std::string const &key) const
Get the value of an HTTP header.
Definition:
parser.hpp:45
websocketpp::processor::hybi08::client_handshake_request
lib::error_code client_handshake_request(request_type &, uri_ptr, std::vector< std::string > const &) const
Fill in a set of request headers for a client connection request.
Definition:
hybi08.hpp:64
websocketpp::processor::hybi08::msg_manager_ptr
config::con_msg_manager_type::ptr msg_manager_ptr
Definition:
hybi08.hpp:49
hybi13.hpp
websocketpp::processor::error::no_protocol_support
No support for this feature in this protocol version.
Definition:
base.hpp:135
websocketpp::processor::hybi08::get_origin
std::string const & get_origin(request_type const &r) const
Return the value of the header containing the CORS origin.
Definition:
hybi08.hpp:74
websocketpp::processor::hybi08::rng_type
config::rng_type rng_type
Definition:
hybi08.hpp:50
websocketpp::processor::error::make_error_code
lib::error_code make_error_code(error::processor_errors e)
Create an error code with the given value and the processor category.
Definition:
base.hpp:244
websocketpp::random::none::int_generator
Thread safe stub "random" integer generator.
Definition:
none.hpp:46
websocketpp
Namespace for the WebSocket++ project.
Definition:
base64.hpp:41
websocketpp::processor::hybi08::get_version
int get_version() const
Get the protocol version of this processor.
Definition:
hybi08.hpp:70
websocketpp::uri_ptr
lib::shared_ptr< uri > uri_ptr
Pointer to a URI.
Definition:
uri.hpp:352
websocketpp::processor::hybi08
Processor for Hybi Draft version 08.
Definition:
hybi08.hpp:44
websocketpp::http::parser::request
Stores, parses, and manipulates HTTP requests.
Definition:
request.hpp:50
websocketpp::processor::hybi08::request_type
config::request_type request_type
Definition:
hybi08.hpp:47
websocketpp::message_buffer::alloc::con_msg_manager::ptr
lib::shared_ptr< con_msg_manager > ptr
Definition:
alloc.hpp:46
websocketpp::processor::hybi08::type
hybi08< config > type
Definition:
hybi08.hpp:46
websocketpp::processor::hybi08::hybi08
hybi08(bool secure, bool p_is_server, msg_manager_ptr manager, rng_type &rng)
Definition:
hybi08.hpp:52
config
Definition:
permessage_deflate.cpp:42
websocketpp::processor::hybi13
Processor for Hybi version 13 (RFC6455)
Definition:
hybi13.hpp:54
ndnSIM
NFD
websocketpp
websocketpp
processors
hybi08.hpp
Generated on Fri May 6 2022 12:34:15 for ndnSIM by
1.8.13