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
const RoutersetStrictRouting (bool strictRouting=true) const
const RoutersetCaseInsensitiveRouting (bool caseInsensitiveRouting=true) const
const RoutersetMergeParams (bool mergeParams=true) const
std::list< std::string > getRoutes () 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 StaticMiddleware & StaticMiddleware (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 58 of file StaticMiddleware.cpp.

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

References web::http::Close, express::Response::cookie(), defaultConnectionState, core::socket::stream::SocketConnection::getConnectionName(), web::http::CookieOptions::getOptions(), core::socket::stream::SocketContext::getSocketConnection(), express::Response::getSocketContext(), web::http::CookieOptions::getValue(), index, web::http::Keep, express::Request::method, express::Next::operator()(), express::Request::originalPath, express::Request::path, express::Response::redirect(), root, express::Response::send(), express::Response::sendFile(), express::Response::sendStatus(), express::Response::set(), express::Response::set(), express::Router::setStrictRouting(), express::Response::status(), express::Request::url, and httputils::url_decode().

Referenced by instance().

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 159 of file StaticMiddleware.cpp.

159 {
160 this->defaultConnectionState = connectionState;
161
162 return *this;
163 }

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 151 of file StaticMiddleware.cpp.

153 {
154 this->stdCookies.insert({name, web::http::CookieOptions(value, options)});
155
156 return *this;
157 }

References web::http::CookieOptions::CookieOptions(), and stdCookies.

Here is the call graph for this function:

◆ appendStdHeaders() [1/2]

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

Definition at line 139 of file StaticMiddleware.cpp.

139 {
140 this->stdHeaders.insert(stdHeaders.begin(), stdHeaders.end());
141
142 return *this;
143 }

References stdHeaders.

◆ appendStdHeaders() [2/2]

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

Definition at line 145 of file StaticMiddleware.cpp.

145 {
146 this->stdHeaders[field] = value;
147
148 return *this;
149 }

References stdHeaders.

◆ clearStdHeaders()

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

Definition at line 127 of file StaticMiddleware.cpp.

127 {
128 this->stdHeaders.clear();
129
130 return *this;
131 }

References stdHeaders.

◆ instance()

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

Definition at line 165 of file StaticMiddleware.cpp.

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

References StaticMiddleware().

Referenced by StaticMiddleware.

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

◆ operator=()

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

◆ setIndex()

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

Definition at line 121 of file StaticMiddleware.cpp.

121 {
122 this->index = index;
123
124 return *this;
125 }

References index.

◆ setStdHeaders()

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

Definition at line 133 of file StaticMiddleware.cpp.

133 {
134 this->stdHeaders = stdHeaders;
135
136 return *this;
137 }

References stdHeaders.

◆ StaticMiddleware

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

Definition at line 177 of file StaticMiddleware.cpp.

177 {
179 }
static class StaticMiddleware & instance(const std::string &root)

References instance().

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.

Referenced by setIndex(), and StaticMiddleware().

◆ root

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

Definition at line 80 of file StaticMiddleware.h.

Referenced by StaticMiddleware().

◆ stdCookies

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

Definition at line 83 of file StaticMiddleware.h.

Referenced by appendStdCookie().

◆ 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"}};

Referenced by appendStdHeaders(), appendStdHeaders(), clearStdHeaders(), and setStdHeaders().


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