RESTinio
|
#include <restinio/impl/include_fmtlib.hpp>
#include <restinio/impl/string_caseless_compare.hpp>
#include <restinio/exception.hpp>
#include <restinio/string_view.hpp>
#include <restinio/optional.hpp>
#include <restinio/common_types.hpp>
#include <http_parser.h>
#include <iosfwd>
#include <string>
#include <vector>
#include <algorithm>
Go to the source code of this file.
Classes | |
class | restinio::http_header_field_t |
A single header field. More... | |
class | restinio::http_header_fields_t |
Header fields map. More... | |
struct | restinio::http_header_common_t |
Req/Resp headers common data. More... | |
class | restinio::http_method_id_t |
A type for representation of HTTP method ID. More... | |
class | restinio::default_http_methods_t |
The default implementation for http_method_mapper. More... | |
struct | restinio::http_request_header_t |
Req header. More... | |
class | restinio::http_status_code_t |
A handy wrapper for HTTP response status code. More... | |
class | restinio::http_status_line_t |
HTTP response header status line. More... | |
struct | restinio::http_response_header_t |
Resp header. More... | |
Namespaces | |
namespace | restinio |
namespace | restinio::impl |
namespace | restinio::status_code |
Macros | |
#define | RESTINIO_HTTP_FIELDS_MAP(RESTINIO_GEN) |
#define | RESTINIO_HTTP_FIELD_GEN(name, ignored) name, |
#define | RESTINIO_HTTP_CHECK_FOR_FIELD(field_id, candidate_field_name) |
#define | RESTINIO_HTTP_FIELD_STR_GEN(name, string_name) case http_field_t::name: result = #string_name; break; |
Typedefs | |
using | restinio::http_field = http_field_t |
Helper alies to omitt _t suffix. More... | |
Enumerations | |
enum class | restinio::http_field_t : std::uint8_t { restinio::RESTINIO_HTTP_FIELD_GEN , restinio::field_unspecified } |
C++ enum that repeats nodejs c-style enum. More... | |
Variables | |
RFC 2616 status code list. | |
Codes defined by RFC 2616: https://www.w3.org/Protocols/rfc2616/rfc2616-sec6.html#sec6.1.1. | |
constexpr http_status_code_t | restinio::status_code::continue_ { 100 } |
constexpr http_status_code_t | restinio::status_code::switching_protocols { 101 } |
constexpr http_status_code_t | restinio::status_code::ok { 200 } |
constexpr http_status_code_t | restinio::status_code::created { 201 } |
constexpr http_status_code_t | restinio::status_code::accepted { 202 } |
constexpr http_status_code_t | restinio::status_code::non_authoritative_information { 203 } |
constexpr http_status_code_t | restinio::status_code::no_content { 204 } |
constexpr http_status_code_t | restinio::status_code::reset_content { 205 } |
constexpr http_status_code_t | restinio::status_code::partial_content { 206 } |
constexpr http_status_code_t | restinio::status_code::multiple_choices { 300 } |
constexpr http_status_code_t | restinio::status_code::moved_permanently { 301 } |
constexpr http_status_code_t | restinio::status_code::found { 302 } |
constexpr http_status_code_t | restinio::status_code::see_other { 303 } |
constexpr http_status_code_t | restinio::status_code::not_modified { 304 } |
constexpr http_status_code_t | restinio::status_code::use_proxy { 305 } |
constexpr http_status_code_t | restinio::status_code::temporary_redirect { 307 } |
constexpr http_status_code_t | restinio::status_code::bad_request { 400 } |
constexpr http_status_code_t | restinio::status_code::unauthorized { 401 } |
constexpr http_status_code_t | restinio::status_code::payment_required { 402 } |
constexpr http_status_code_t | restinio::status_code::forbidden { 403 } |
constexpr http_status_code_t | restinio::status_code::not_found { 404 } |
constexpr http_status_code_t | restinio::status_code::method_not_allowed { 405 } |
constexpr http_status_code_t | restinio::status_code::not_acceptable { 406 } |
constexpr http_status_code_t | restinio::status_code::proxy_authentication_required { 407 } |
constexpr http_status_code_t | restinio::status_code::request_time_out { 408 } |
constexpr http_status_code_t | restinio::status_code::conflict { 409 } |
constexpr http_status_code_t | restinio::status_code::gone { 410 } |
constexpr http_status_code_t | restinio::status_code::length_required { 411 } |
constexpr http_status_code_t | restinio::status_code::precondition_failed { 412 } |
constexpr http_status_code_t | restinio::status_code::payload_too_large { 413 } |
constexpr http_status_code_t | restinio::status_code::uri_too_long { 414 } |
constexpr http_status_code_t | restinio::status_code::unsupported_media_type { 415 } |
constexpr http_status_code_t | restinio::status_code::requested_range_not_satisfiable { 416 } |
constexpr http_status_code_t | restinio::status_code::expectation_failed { 417 } |
constexpr http_status_code_t | restinio::status_code::internal_server_error { 500 } |
constexpr http_status_code_t | restinio::status_code::not_implemented { 501 } |
constexpr http_status_code_t | restinio::status_code::bad_gateway { 502 } |
constexpr http_status_code_t | restinio::status_code::service_unavailable { 503 } |
constexpr http_status_code_t | restinio::status_code::gateway_time_out { 504 } |
constexpr http_status_code_t | restinio::status_code::http_version_not_supported { 505 } |
Additional status codes. | |
Codes not covered with RFC 2616. | |
constexpr http_status_code_t | restinio::status_code::permanent_redirect { 308 } |
constexpr http_status_code_t | restinio::status_code::processing { 102 } |
constexpr http_status_code_t | restinio::status_code::multi_status { 207 } |
constexpr http_status_code_t | restinio::status_code::unprocessable_entity { 422 } |
constexpr http_status_code_t | restinio::status_code::locked { 423 } |
constexpr http_status_code_t | restinio::status_code::failed_dependency { 424 } |
constexpr http_status_code_t | restinio::status_code::insufficient_storage { 507 } |
constexpr http_status_code_t | restinio::status_code::precondition_required { 428 } |
constexpr http_status_code_t | restinio::status_code::too_many_requests { 429 } |
constexpr http_status_code_t | restinio::status_code::request_header_fields_too_large { 431 } |
constexpr http_status_code_t | restinio::status_code::network_authentication_required { 511 } |
#define | RESTINIO_HEADER_FIELDS_DEFAULT_RESERVE_COUNT 4 |
#define | RESTINIO_HTTP_METHOD_MAP(RESTINIO_GEN) |
HTTP methods mapping with nodejs http methods. More... | |
#define | RESTINIO_HTTP_METHOD_FUNC_GEN(func_name, nodejs_code, method_name) |
#define | RESTINIO_HTTP_METHOD_FUNC_GEN(func_name, nodejs_code, method_name) case nodejs_code : result = func_name(); break; |
enum class | restinio::http_connection_header_t : std::uint8_t { restinio::keep_alive , restinio::close , restinio::upgrade } |
Values for conection header field. More... | |
http_field_t | restinio::string_to_field (string_view_t field) noexcept |
Helper function to get method string name. More... | |
const char * | restinio::field_to_string (http_field_t f) noexcept |
Helper sunction to get method string name. More... | |
std::ostream & | restinio::operator<< (std::ostream &to, const http_method_id_t &m) |
constexpr http_method_id_t | restinio::http_method_unknown () |
std::ostream & | restinio::operator<< (std::ostream &o, const http_status_line_t &status_line) |
#define RESTINIO_HEADER_FIELDS_DEFAULT_RESERVE_COUNT 4 |
Definition at line 668 of file http_headers.hpp.
#define RESTINIO_HTTP_CHECK_FOR_FIELD | ( | field_id, | |
candidate_field_name | |||
) |
#define RESTINIO_HTTP_FIELD_GEN | ( | name, | |
ignored | |||
) | name, |
Definition at line 234 of file http_headers.hpp.
#define RESTINIO_HTTP_FIELD_STR_GEN | ( | name, | |
string_name | |||
) | case http_field_t::name: result = #string_name; break; |
#define RESTINIO_HTTP_FIELDS_MAP | ( | RESTINIO_GEN | ) |
Definition at line 34 of file http_headers.hpp.
#define RESTINIO_HTTP_METHOD_FUNC_GEN | ( | func_name, | |
nodejs_code, | |||
method_name | |||
) |
Definition at line 1799 of file http_headers.hpp.
#define RESTINIO_HTTP_METHOD_FUNC_GEN | ( | func_name, | |
nodejs_code, | |||
method_name | |||
) | case nodejs_code : result = func_name(); break; |
Definition at line 1799 of file http_headers.hpp.
#define RESTINIO_HTTP_METHOD_MAP | ( | RESTINIO_GEN | ) |
HTTP methods mapping with nodejs http methods.
Definition at line 1652 of file http_headers.hpp.