SNode.C
Loading...
Searching...
No Matches
express::middleware::StaticMiddleware Class Reference

#include <StaticMiddleware.h>

Inheritance diagram for express::middleware::StaticMiddleware:
Collaboration diagram for express::middleware::StaticMiddleware:

Public Member Functions

 StaticMiddleware (const StaticMiddleware &)=delete
 
StaticMiddlewareoperator= (const StaticMiddleware &)=delete
 
StaticMiddlewaresetIndex (const std::string &index)
 
StaticMiddlewareclearStdHeaders ()
 
StaticMiddlewaresetStdHeaders (const std::map< std::string, std::string > &stdHeaders)
 
StaticMiddlewareappendStdHeaders (const std::map< std::string, std::string > &stdHeaders)
 
StaticMiddlewareappendStdHeaders (const std::string &field, const std::string &value)
 
StaticMiddlewareappendStdCookie (const std::string &name, const std::string &value, const std::map< std::string, std::string > &options={})
 
StaticMiddlewareafterResponse (web::http::ConnectionState connectionState)
 
- Public Member Functions inherited from express::Router
 Router ()
 
 Router (const Router &)=default
 
void strictRouting (bool strictRouting=true) const
 
Routeuse (const Router &router) const
 
Routeuse (const std::string &relativeMountPath, const Router &router) const
 
Routeuse (const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &)> &lambda) const
 
Routeuse (const std::string &relativeMountPath, const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &)> &lambda) const
 
Routeuse (const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &, Next &)> &lambda) const
 
Routeuse (const std::string &relativeMountPath, const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &, Next &)> &lambda) const
 
template<typename... Lambdas>
Routeuse (const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &)> &lambda, Lambdas... lambdas) const
 
template<typename... Lambdas>
Routeuse (const std::string &relativeMountPath, const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &)> &lambda, Lambdas... lambdas) const
 
template<typename... Lambdas>
Routeuse (const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &, Next &)> &lambda, Lambdas... lambdas) const
 
template<typename... Lambdas>
Routeuse (const std::string &relativeMountPath, const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &, Next &)> &lambda, Lambdas... lambdas) const
 
Routeall (const Router &router) const
 
Routeall (const std::string &relativeMountPath, const Router &router) const
 
Routeall (const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &)> &lambda) const
 
Routeall (const std::string &relativeMountPath, const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &)> &lambda) const
 
Routeall (const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &, Next &)> &lambda) const
 
Routeall (const std::string &relativeMountPath, const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &, Next &)> &lambda) const
 
template<typename... Lambdas>
Routeall (const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &)> &lambda, Lambdas... lambdas) const
 
template<typename... Lambdas>
Routeall (const std::string &relativeMountPath, const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &)> &lambda, Lambdas... lambdas) const
 
template<typename... Lambdas>
Routeall (const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &, Next &)> &lambda, Lambdas... lambdas) const
 
template<typename... Lambdas>
Routeall (const std::string &relativeMountPath, const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &, Next &)> &lambda, Lambdas... lambdas) const
 
Routeget (const Router &router) const
 
Routeget (const std::string &relativeMountPath, const Router &router) const
 
Routeget (const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &)> &lambda) const
 
Routeget (const std::string &relativeMountPath, const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &)> &lambda) const
 
Routeget (const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &, Next &)> &lambda) const
 
Routeget (const std::string &relativeMountPath, const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &, Next &)> &lambda) const
 
template<typename... Lambdas>
Routeget (const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &)> &lambda, Lambdas... lambdas) const
 
template<typename... Lambdas>
Routeget (const std::string &relativeMountPath, const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &)> &lambda, Lambdas... lambdas) const
 
template<typename... Lambdas>
Routeget (const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &, Next &)> &lambda, Lambdas... lambdas) const
 
template<typename... Lambdas>
Routeget (const std::string &relativeMountPath, const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &, Next &)> &lambda, Lambdas... lambdas) const
 
Routeput (const Router &router) const
 
Routeput (const std::string &relativeMountPath, const Router &router) const
 
Routeput (const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &)> &lambda) const
 
Routeput (const std::string &relativeMountPath, const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &)> &lambda) const
 
Routeput (const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &, Next &)> &lambda) const
 
Routeput (const std::string &relativeMountPath, const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &, Next &)> &lambda) const
 
template<typename... Lambdas>
Routeput (const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &)> &lambda, Lambdas... lambdas) const
 
template<typename... Lambdas>
Routeput (const std::string &relativeMountPath, const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &)> &lambda, Lambdas... lambdas) const
 
template<typename... Lambdas>
Routeput (const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &, Next &)> &lambda, Lambdas... lambdas) const
 
template<typename... Lambdas>
Routeput (const std::string &relativeMountPath, const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &, Next &)> &lambda, Lambdas... lambdas) const
 
Routepost (const Router &router) const
 
Routepost (const std::string &relativeMountPath, const Router &router) const
 
Routepost (const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &)> &lambda) const
 
Routepost (const std::string &relativeMountPath, const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &)> &lambda) const
 
Routepost (const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &, Next &)> &lambda) const
 
Routepost (const std::string &relativeMountPath, const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &, Next &)> &lambda) const
 
template<typename... Lambdas>
Routepost (const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &)> &lambda, Lambdas... lambdas) const
 
template<typename... Lambdas>
Routepost (const std::string &relativeMountPath, const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &)> &lambda, Lambdas... lambdas) const
 
template<typename... Lambdas>
Routepost (const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &, Next &)> &lambda, Lambdas... lambdas) const
 
template<typename... Lambdas>
Routepost (const std::string &relativeMountPath, const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &, Next &)> &lambda, Lambdas... lambdas) const
 
Routedel (const Router &router) const
 
Routedel (const std::string &relativeMountPath, const Router &router) const
 
Routedel (const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &)> &lambda) const
 
Routedel (const std::string &relativeMountPath, const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &)> &lambda) const
 
Routedel (const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &, Next &)> &lambda) const
 
Routedel (const std::string &relativeMountPath, const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &, Next &)> &lambda) const
 
template<typename... Lambdas>
Routedel (const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &)> &lambda, Lambdas... lambdas) const
 
template<typename... Lambdas>
Routedel (const std::string &relativeMountPath, const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &)> &lambda, Lambdas... lambdas) const
 
template<typename... Lambdas>
Routedel (const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &, Next &)> &lambda, Lambdas... lambdas) const
 
template<typename... Lambdas>
Routedel (const std::string &relativeMountPath, const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &, Next &)> &lambda, Lambdas... lambdas) const
 
Routeconnect (const Router &router) const
 
Routeconnect (const std::string &relativeMountPath, const Router &router) const
 
Routeconnect (const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &)> &lambda) const
 
Routeconnect (const std::string &relativeMountPath, const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &)> &lambda) const
 
Routeconnect (const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &, Next &)> &lambda) const
 
Routeconnect (const std::string &relativeMountPath, const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &, Next &)> &lambda) const
 
template<typename... Lambdas>
Routeconnect (const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &)> &lambda, Lambdas... lambdas) const
 
template<typename... Lambdas>
Routeconnect (const std::string &relativeMountPath, const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &)> &lambda, Lambdas... lambdas) const
 
template<typename... Lambdas>
Routeconnect (const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &, Next &)> &lambda, Lambdas... lambdas) const
 
template<typename... Lambdas>
Routeconnect (const std::string &relativeMountPath, const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &, Next &)> &lambda, Lambdas... lambdas) const
 
Routeoptions (const Router &router) const
 
Routeoptions (const std::string &relativeMountPath, const Router &router) const
 
Routeoptions (const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &)> &lambda) const
 
Routeoptions (const std::string &relativeMountPath, const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &)> &lambda) const
 
Routeoptions (const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &, Next &)> &lambda) const
 
Routeoptions (const std::string &relativeMountPath, const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &, Next &)> &lambda) const
 
template<typename... Lambdas>
Routeoptions (const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &)> &lambda, Lambdas... lambdas) const
 
template<typename... Lambdas>
Routeoptions (const std::string &relativeMountPath, const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &)> &lambda, Lambdas... lambdas) const
 
template<typename... Lambdas>
Routeoptions (const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &, Next &)> &lambda, Lambdas... lambdas) const
 
template<typename... Lambdas>
Routeoptions (const std::string &relativeMountPath, const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &, Next &)> &lambda, Lambdas... lambdas) const
 
Routetrace (const Router &router) const
 
Routetrace (const std::string &relativeMountPath, const Router &router) const
 
Routetrace (const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &)> &lambda) const
 
Routetrace (const std::string &relativeMountPath, const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &)> &lambda) const
 
Routetrace (const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &, Next &)> &lambda) const
 
Routetrace (const std::string &relativeMountPath, const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &, Next &)> &lambda) const
 
template<typename... Lambdas>
Routetrace (const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &)> &lambda, Lambdas... lambdas) const
 
template<typename... Lambdas>
Routetrace (const std::string &relativeMountPath, const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &)> &lambda, Lambdas... lambdas) const
 
template<typename... Lambdas>
Routetrace (const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &, Next &)> &lambda, Lambdas... lambdas) const
 
template<typename... Lambdas>
Routetrace (const std::string &relativeMountPath, const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &, Next &)> &lambda, Lambdas... lambdas) const
 
Routepatch (const Router &router) const
 
Routepatch (const std::string &relativeMountPath, const Router &router) const
 
Routepatch (const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &)> &lambda) const
 
Routepatch (const std::string &relativeMountPath, const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &)> &lambda) const
 
Routepatch (const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &, Next &)> &lambda) const
 
Routepatch (const std::string &relativeMountPath, const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &, Next &)> &lambda) const
 
template<typename... Lambdas>
Routepatch (const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &)> &lambda, Lambdas... lambdas) const
 
template<typename... Lambdas>
Routepatch (const std::string &relativeMountPath, const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &)> &lambda, Lambdas... lambdas) const
 
template<typename... Lambdas>
Routepatch (const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &, Next &)> &lambda, Lambdas... lambdas) const
 
template<typename... Lambdas>
Routepatch (const std::string &relativeMountPath, const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &, Next &)> &lambda, Lambdas... lambdas) const
 
Routehead (const Router &router) const
 
Routehead (const std::string &relativeMountPath, const Router &router) const
 
Routehead (const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &)> &lambda) const
 
Routehead (const std::string &relativeMountPath, const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &)> &lambda) const
 
Routehead (const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &, Next &)> &lambda) const
 
Routehead (const std::string &relativeMountPath, const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &, Next &)> &lambda) const
 
template<typename... Lambdas>
Routehead (const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &)> &lambda, Lambdas... lambdas) const
 
template<typename... Lambdas>
Routehead (const std::string &relativeMountPath, const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &)> &lambda, Lambdas... lambdas) const
 
template<typename... Lambdas>
Routehead (const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &, Next &)> &lambda, Lambdas... lambdas) const
 
template<typename... Lambdas>
Routehead (const std::string &relativeMountPath, const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &, Next &)> &lambda, Lambdas... lambdas) const
 

Protected Member Functions

 StaticMiddleware (const std::string &root)
 

Static Protected Member Functions

static class StaticMiddlewareinstance (const std::string &root)
 

Private Attributes

std::string root
 
std::string index
 
std::map< std::string, std::string > stdHeaders = {{"Cache-Control", "public, max-age=0"}, {"Accept-Ranges", "bytes"}}
 
std::map< std::string, web::http::CookieOptionsstdCookies
 
web::http::ConnectionState defaultConnectionState = web::http::ConnectionState::Default
 

Friends

class StaticMiddlewareStaticMiddleware (const std::string &root)
 

Additional Inherited Members

- Protected Attributes inherited from express::Router
std::shared_ptr< RootRouterootRoute = nullptr
 

Detailed Description

Definition at line 59 of file StaticMiddleware.h.

Constructor & Destructor Documentation

◆ StaticMiddleware() [1/2]

express::middleware::StaticMiddleware::StaticMiddleware ( const StaticMiddleware & )
delete

◆ StaticMiddleware() [2/2]

express::middleware::StaticMiddleware::StaticMiddleware ( const std::string & root)
explicitprotected

Definition at line 57 of file StaticMiddleware.cpp.

58 : root(root)
59 , index("index.html") {
60 use(
61 [&stdHeaders = this->stdHeaders, &stdCookies = this->stdCookies, &connectionState = this->defaultConnectionState] MIDDLEWARE(
62 req, res, next) {
63 if (req->method == "GET") {
64 LOG(DEBUG) << res->getSocketContext()->getSocketConnection()->getConnectionName()
65 << " Express StaticMiddleware correct method: " << req->method;
66
67 if (connectionState == web::http::ConnectionState::Close) {
68 res->set("Connection", "close");
69 } else if (connectionState == web::http::ConnectionState::Keep) {
70 res->set("Connection", "keep-alive");
71 }
72 res->set(stdHeaders);
73
74 for (auto& [value, options] : stdCookies) {
75 res->cookie(value, options.getValue(), options.getOptions());
76 }
77 next();
78 } else {
79 LOG(ERROR) << res->getSocketContext()->getSocketConnection()->getConnectionName()
80 << " Express StaticMiddleware wrong method: " << req->method;
81
82 if (connectionState == web::http::ConnectionState::Close) {
83 res->set("Connection", "close");
84 } else if (connectionState == web::http::ConnectionState::Keep) {
85 res->set("Connection", "keep-alive");
86 }
87 res->sendStatus(405);
88 }
89 },
90 [&index = this->index] MIDDLEWARE(req, res, next) {
91 if (req->url.ends_with("/")) {
92 if (!index.empty()) {
93 LOG(INFO) << res->getSocketContext()->getSocketConnection()->getConnectionName()
94 << " Express StaticMiddleware Redirecting: " << req->url << " -> " << req->url + index;
95 res->redirect(308, req->url + index);
96 } else {
97 res->status(404).send("Unsupported resource: " + req->url);
98 }
99 } else {
100 next();
101 }
102 },
103 [&root = this->root] APPLICATION(req, res) {
104 res->sendFile(root + req->url, [&root, req, res](int ret) {
105 if (ret == 0) {
106 LOG(INFO) << res->getSocketContext()->getSocketConnection()->getConnectionName()
107 << " Express StaticMiddleware: GET " << req->url + " -> " << root + req->url;
108 } else {
109 PLOG(ERROR) << res->getSocketContext()->getSocketConnection()->getConnectionName() << " Express StaticMiddleware "
110 << req->url + " -> " << root + req->url;
111
112 res->status(404).end();
113 }
114 });
115 });
116 }
#define APPLICATION(req, res)
Definition Router.h:67
#define MIDDLEWARE(req, res, next)
Definition Router.h:62
Route & options(const Router &router) const
Definition Router.cpp:89
Route & use(const Router &router) const
Definition Router.cpp:82
std::map< std::string, web::http::CookieOptions > stdCookies
web::http::ConnectionState defaultConnectionState
std::map< std::string, std::string > stdHeaders

References web::http::Close, defaultConnectionState, web::http::Keep, and StaticMiddleware().

Referenced by StaticMiddleware().

Here is the call graph for this function:
Here is the caller graph for this function:

Member Function Documentation

◆ afterResponse()

class StaticMiddleware & express::middleware::StaticMiddleware::afterResponse ( web::http::ConnectionState connectionState)

Definition at line 156 of file StaticMiddleware.cpp.

156 {
157 this->defaultConnectionState = connectionState;
158
159 return *this;
160 }

References defaultConnectionState.

◆ appendStdCookie()

class StaticMiddleware & express::middleware::StaticMiddleware::appendStdCookie ( const std::string & name,
const std::string & value,
const std::map< std::string, std::string > & options = {} )

Definition at line 148 of file StaticMiddleware.cpp.

150 {
151 this->stdCookies.insert({name, web::http::CookieOptions(value, options)});
152
153 return *this;
154 }

◆ appendStdHeaders() [1/2]

class StaticMiddleware & express::middleware::StaticMiddleware::appendStdHeaders ( const std::map< std::string, std::string > & stdHeaders)

Definition at line 136 of file StaticMiddleware.cpp.

136 {
137 this->stdHeaders.insert(stdHeaders.begin(), stdHeaders.end());
138
139 return *this;
140 }

◆ appendStdHeaders() [2/2]

class StaticMiddleware & express::middleware::StaticMiddleware::appendStdHeaders ( const std::string & field,
const std::string & value )

Definition at line 142 of file StaticMiddleware.cpp.

142 {
143 this->stdHeaders[field] = value;
144
145 return *this;
146 }

◆ clearStdHeaders()

class StaticMiddleware & express::middleware::StaticMiddleware::clearStdHeaders ( )

Definition at line 124 of file StaticMiddleware.cpp.

124 {
125 this->stdHeaders.clear();
126
127 return *this;
128 }

◆ instance()

class StaticMiddleware & express::middleware::StaticMiddleware::instance ( const std::string & root)
staticprotected

Definition at line 162 of file StaticMiddleware.cpp.

162 {
163 // Keep all created static middlewares alive
164 static std::map<const std::string, std::shared_ptr<class StaticMiddleware>> staticMiddlewares;
165
166 if (!staticMiddlewares.contains(root)) {
167 staticMiddlewares[root] = std::shared_ptr<StaticMiddleware>(new StaticMiddleware(root));
168 }
169
170 return *staticMiddlewares[root];
171 }
StaticMiddleware(const StaticMiddleware &)=delete

◆ operator=()

StaticMiddleware & express::middleware::StaticMiddleware::operator= ( const StaticMiddleware & )
delete

◆ setIndex()

class StaticMiddleware & express::middleware::StaticMiddleware::setIndex ( const std::string & index)

Definition at line 118 of file StaticMiddleware.cpp.

118 {
119 this->index = index;
120
121 return *this;
122 }

◆ setStdHeaders()

class StaticMiddleware & express::middleware::StaticMiddleware::setStdHeaders ( const std::map< std::string, std::string > & stdHeaders)

Definition at line 130 of file StaticMiddleware.cpp.

130 {
131 this->stdHeaders = stdHeaders;
132
133 return *this;
134 }

Friends And Related Symbol Documentation

◆ StaticMiddleware

class StaticMiddleware & StaticMiddleware ( const std::string & root)
friend

Definition at line 174 of file StaticMiddleware.cpp.

174 {
176 }
static class StaticMiddleware & instance(const std::string &root)

Member Data Documentation

◆ defaultConnectionState

web::http::ConnectionState express::middleware::StaticMiddleware::defaultConnectionState = web::http::ConnectionState::Default
private

Definition at line 84 of file StaticMiddleware.h.

Referenced by afterResponse(), and StaticMiddleware().

◆ index

std::string express::middleware::StaticMiddleware::index
private

Definition at line 81 of file StaticMiddleware.h.

◆ root

std::string express::middleware::StaticMiddleware::root
private

Definition at line 80 of file StaticMiddleware.h.

◆ stdCookies

std::map<std::string, web::http::CookieOptions> express::middleware::StaticMiddleware::stdCookies
private

Definition at line 83 of file StaticMiddleware.h.

◆ stdHeaders

std::map<std::string, std::string> express::middleware::StaticMiddleware::stdHeaders = {{"Cache-Control", "public, max-age=0"}, {"Accept-Ranges", "bytes"}}
private

Definition at line 82 of file StaticMiddleware.h.

82{{"Cache-Control", "public, max-age=0"}, {"Accept-Ranges", "bytes"}};

The documentation for this class was generated from the following files: