2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
42#ifndef EXPRESS_MIDDLEWARE_STATICMIDDLEWARE_H
43#define EXPRESS_MIDDLEWARE_STATICMIDDLEWARE_H
45#include "express/Router.h"
46#include "web/http/ConnectionState.h"
47#include "web/http/CookieOptions.h"
49#ifndef DOXYGEN_SHOULD_SKIP_THIS
76 appendStdCookie(
const std::string& name,
const std::string& value,
const std::map<std::string, std::string>& options = {});
#define DECLARE_ROOTROUTE_REQUESTMETHOD(METHOD)
#define DECLARE_ROUTE_REQUESTMETHOD(METHOD)
#define DEFINE_ROUTE_TEMPLATE_REQUESTMETHOD(METHOD, HTTP_METHOD)
#define DECLARE_ROUTER_REQUESTMETHOD(METHOD)
#define DEFINE_ROUTER_TEMPLATE_REQUESTMETHOD(METHOD, HTTP_METHOD)
bool caseInsensitiveRouting
const std::shared_ptr< Request > & getRequest()
bool setStrictRouting(bool strictRouting)
Controller(const std::shared_ptr< web::http::server::Request > &request, const std::shared_ptr< web::http::server::Response > &response)
bool getStrictRouting() const
bool setCaseInsensitiveRouting(bool caseInsensitiveRouting)
std::shared_ptr< Response > response
Controller(const Controller &controller)
void setCurrentRoute(Route *currentRoute)
void setRootRoute(RootRoute *rootRoute)
bool getCaseInsensitiveRouting() const
std::shared_ptr< Request > request
Controller & operator=(const Controller &controller) noexcept
const std::shared_ptr< Response > & getResponse()
Next(Controller &controller)
web::http::CiStringMap< std::string > cookies
Request(Request &&) noexcept=delete
Request & operator=(Request &&) noexcept=delete
std::map< std::string, std::string > params
web::http::CiStringMap< std::string > queries
Request(const std::shared_ptr< web::http::server::Request > &request) noexcept
std::shared_ptr< web::http::server::Request > requestBase
Request(Request &)=delete
web::http::CiStringMap< std::string > headers
web::http::CiStringMap< std::string > trailer
Request & operator=(Request &)=delete
std::shared_ptr< web::http::server::Response > responseBase
Response(Response &&) noexcept=delete
Response & operator=(Response &&) noexcept=delete
Response & sendFragment(const char *chunk, std::size_t chunkLen)
Response(const std::shared_ptr< web::http::server::Response > &response) noexcept
Response & status(int status)
Response(Response &)=delete
void send(const char *chunk, std::size_t chunkLen)
Response & operator=(Response &)=delete
web::http::server::SocketContext * getSocketContext() const
bool setCaseInsensitiveRouting(bool caseInsensitiveRouting)
void dispatch(Controller &&controller)
void dispatch(Controller &controller)
bool setStrictRouting(bool strictRouting)
std::list< std::string > getRoutes() const
std::list< Route > & routes() const
std::shared_ptr< dispatcher::RouterDispatcher > getDispatcher() const
Route & patch(const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &)> &lambda) const
StrictRouting strictRouting
std::shared_ptr< Dispatcher > dispatcher
Route & put(const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &)> &lambda) const
Route & head(const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &)> &lambda) const
Route & use(const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &)> &lambda) const
Route & connect(const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &)> &lambda) const
bool dispatch(Controller &controller)
Route & options(const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &)> &lambda) const
Route & setStrictRouting(bool strict=true)
Route & all(const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &)> &lambda) const
Route & del(const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &)> &lambda) const
Route & get(const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &)> &lambda) const
Route & post(const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &)> &lambda) const
const StrictRouting & getStrictRouting() const
Route & trace(const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &)> &lambda) const
const Router & setCaseInsensitiveRouting(bool caseInsensitiveRouting=true) const
const Router & setStrictRouting(bool strictRouting=true) const
Router(const Router &)=default
std::list< std::string > getRoutes() const
std::shared_ptr< RootRoute > rootRoute
std::map< std::string, web::http::CookieOptions > stdCookies
StaticMiddleware & setIndex(const std::string &index)
StaticMiddleware & appendStdHeaders(const std::string &field, const std::string &value)
web::http::ConnectionState defaultConnectionState
StaticMiddleware & clearStdHeaders()
StaticMiddleware(const StaticMiddleware &)=delete
std::map< std::string, std::string > stdHeaders
StaticMiddleware & setStdHeaders(const std::map< std::string, std::string > &stdHeaders)
StaticMiddleware & operator=(const StaticMiddleware &)=delete
static class StaticMiddleware & instance(const std::string &root)
StaticMiddleware & appendStdCookie(const std::string &name, const std::string &value, const std::map< std::string, std::string > &options={})
StaticMiddleware & appendStdHeaders(const std::map< std::string, std::string > &stdHeaders)
StaticMiddleware(const std::string &root)
StaticMiddleware & afterResponse(web::http::ConnectionState connectionState)
VerboseRequest & operator=(const VerboseRequest &)=delete
VerboseRequest(Details details)
VerboseRequest(const VerboseRequest &)=delete
void required(CLI::Option *opt, bool req=true)
constexpr AttributeProxy(const Attribute &attribute)
constexpr Attribute & operator*()
std::map< std::string, std::shared_ptr< void > > attributes
std::string attributeType
constexpr bool setAttribute(const Attribute &attribute, bool overwrite=false)
constexpr bool setAttribute(const Attribute &&attribute, bool overwrite=false)
std::shared_ptr< void > attribute
constexpr bool getAttribute(const std::function< void(Attribute &)> &onFound) const
int main(int argc, char *argv[])
static express::Router getRouter()
static WebApp getWebApp(const std::string &name)
static WebApp getWebApp(const std::string &name)
fixed_string(char const (&)[N]) -> fixed_string< N - 1 >
std::string relativeMountPath
auto operator<=>(const fixed_string &) const =default
constexpr fixed_string(char const *s)
constexpr operator char const *() const