|
roar
|
#include <roar/routing/proto_route.hpp>#include <roar/utility/overloaded.hpp>#include <roar/literals/regex.hpp>#include <roar/session/session.hpp>#include <roar/routing/flexible_provider.hpp>#include <roar/request.hpp>#include <boost/beast/http/verb.hpp>#include <boost/beast/http/empty_body.hpp>#include <boost/describe/class.hpp>#include <string_view>#include <optional>#include <variant>#include <regex>#include <string>#include <filesystem>Go to the source code of this file.
Classes | |
| struct | Roar::ServeOptions< RequestListenerT > |
| struct | Roar::FileAndStatus |
| struct | Roar::RouteInfo< RequestListenerT > |
| This class is what is used in ROAR_GET, ROAR_PUT, ... requests All options you can set for routes behind these macros are part of this object. More... | |
| struct | Roar::ServeInfo< RequestListenerT > |
Namespaces | |
| namespace | Roar |
Macros | |
| #define | ROUTE_INFO_COMMON() |
| #define | ROAR_MAKE_LISTENER(ListenerType) using this_type = ListenerType |
| Necessary to make pointer to members. | |
| #define | ROAR_ROUTE_I(HandlerName, DefaultVerb) |
| #define | ROAR_SERVE(HandlerName) |
| #define | ROAR_ROUTE(HandlerName) ROAR_ROUTE_I(HandlerName, get) |
| Define a route. route. | |
| #define | ROAR_GET(HandlerName) ROAR_ROUTE_I(HandlerName, get) |
| Define route for GET, others can be accessed via ROAR_ROUTE({.verb = ..., .path = ""}) | |
| #define | ROAR_POST(HandlerName) ROAR_ROUTE_I(HandlerName, post) |
| Define route for POST, others can be accessed via ROAR_ROUTE({.verb = ..., .path = ""}) | |
| #define | ROAR_PUT(HandlerName) ROAR_ROUTE_I(HandlerName, put) |
| Define route for PUT, others can be accessed via ROAR_ROUTE({.verb = ..., .path = ""}) | |
| #define | ROAR_OPTIONS(HandlerName) ROAR_ROUTE_I(HandlerName, options) |
| Define route for OPTIONS, others can be accessed via ROAR_ROUTE({.verb = ..., .path = ""}) | |
| #define | ROAR_TRACE(HandlerName) ROAR_ROUTE_I(HandlerName, trace) |
| Define route for TRACE, others can be accessed via ROAR_ROUTE({.verb = ..., .path = ""}) | |
| #define | ROAR_HEAD(HandlerName) ROAR_ROUTE_I(HandlerName, head) |
| Define route for HEAD, others can be accessed via ROAR_ROUTE({.verb = ..., .path = ""}) | |
| #define | ROAR_DELETE(HandlerName) ROAR_ROUTE_I(HandlerName, delete_) |
| Define route for DELETE, others can be accessed via ROAR_ROUTE({.verb = ..., .path = ""}) | |
Typedefs | |
| template<typename RequestListenerT > | |
| using | Roar::HandlerType = void(RequestListenerT::*)(Session &, Request< boost::beast::http::empty_body > &&) |
| template<typename RequestListenerT > | |
| using | Roar::ServeHandlerType = ServeDecision(RequestListenerT::*)(Session &, Request< boost::beast::http::empty_body > const &, FileAndStatus const &, ServeOptions< RequestListenerT > &options) |
Enumerations | |
| enum class | Roar::ServeDecision { Roar::Continue , Roar::Deny , Roar::Handled } |
| enum class | Roar::RoutePathType { Roar::Unspecified , Roar::RegularString , Roar::Regex , Roar::ServedDirectory } |
Functions | |
| template<typename RequestListenerT > | |
| auto | Roar::extendRouteInfo (RouteInfo< RequestListenerT > info, HandlerType< RequestListenerT > handler) |
| template<typename RequestListenerT > | |
| auto | Roar::extendRouteInfoForServe (ServeInfo< RequestListenerT > info, ServeHandlerType< RequestListenerT > handler) |
| #define ROAR_DELETE | ( | HandlerName | ) | ROAR_ROUTE_I(HandlerName, delete_) |
Define route for DELETE, others can be accessed via ROAR_ROUTE({.verb = ..., .path = ""})
| #define ROAR_GET | ( | HandlerName | ) | ROAR_ROUTE_I(HandlerName, get) |
Define route for GET, others can be accessed via ROAR_ROUTE({.verb = ..., .path = ""})
| #define ROAR_HEAD | ( | HandlerName | ) | ROAR_ROUTE_I(HandlerName, head) |
Define route for HEAD, others can be accessed via ROAR_ROUTE({.verb = ..., .path = ""})
| #define ROAR_MAKE_LISTENER | ( | ListenerType | ) | using this_type = ListenerType |
Necessary to make pointer to members.
| #define ROAR_OPTIONS | ( | HandlerName | ) | ROAR_ROUTE_I(HandlerName, options) |
Define route for OPTIONS, others can be accessed via ROAR_ROUTE({.verb = ..., .path = ""})
| #define ROAR_POST | ( | HandlerName | ) | ROAR_ROUTE_I(HandlerName, post) |
Define route for POST, others can be accessed via ROAR_ROUTE({.verb = ..., .path = ""})
| #define ROAR_PUT | ( | HandlerName | ) | ROAR_ROUTE_I(HandlerName, put) |
Define route for PUT, others can be accessed via ROAR_ROUTE({.verb = ..., .path = ""})
| #define ROAR_ROUTE | ( | HandlerName | ) | ROAR_ROUTE_I(HandlerName, get) |
Define a route. route.
| #define ROAR_ROUTE_I | ( | HandlerName, | |
| DefaultVerb | |||
| ) |
| #define ROAR_SERVE | ( | HandlerName | ) |
| #define ROAR_TRACE | ( | HandlerName | ) | ROAR_ROUTE_I(HandlerName, trace) |
Define route for TRACE, others can be accessed via ROAR_ROUTE({.verb = ..., .path = ""})
| #define ROUTE_INFO_COMMON | ( | ) |