diff --git a/libraries/ESP8266WebServer/src/ESP8266WebServer-impl.h b/libraries/ESP8266WebServer/src/ESP8266WebServer-impl.h index a686c4346..bc094b1b6 100644 --- a/libraries/ESP8266WebServer/src/ESP8266WebServer-impl.h +++ b/libraries/ESP8266WebServer/src/ESP8266WebServer-impl.h @@ -34,6 +34,8 @@ static const char qop_auth_quoted[] PROGMEM = "qop=\"auth\""; static const char WWW_Authenticate[] PROGMEM = "WWW-Authenticate"; static const char Content_Length[] PROGMEM = "Content-Length"; +namespace esp8266webserver { + template ESP8266WebServerTemplate::ESP8266WebServerTemplate(IPAddress addr, int port) : _server(addr, port) @@ -864,3 +866,5 @@ String ESP8266WebServerTemplate::responseCodeToString(const int code } return String(r); } + +} // namespace diff --git a/libraries/ESP8266WebServer/src/ESP8266WebServer.h b/libraries/ESP8266WebServer/src/ESP8266WebServer.h index 3d1a478d2..3c08f72a3 100644 --- a/libraries/ESP8266WebServer/src/ESP8266WebServer.h +++ b/libraries/ESP8266WebServer/src/ESP8266WebServer.h @@ -82,8 +82,12 @@ namespace esp8266webserver { template class ESP8266WebServerTemplate; +} + #include "detail/RequestHandler.h" +namespace esp8266webserver { + template class ESP8266WebServerTemplate { @@ -296,13 +300,11 @@ protected: HookFunction _hook; }; +} // namespace #include "ESP8266WebServer-impl.h" #include "Parsing-impl.h" -}; - - using ESP8266WebServer = esp8266webserver::ESP8266WebServerTemplate; using RequestHandler = esp8266webserver::RequestHandler; diff --git a/libraries/ESP8266WebServer/src/Parsing-impl.h b/libraries/ESP8266WebServer/src/Parsing-impl.h index 4bb6db887..4f7068c0c 100644 --- a/libraries/ESP8266WebServer/src/Parsing-impl.h +++ b/libraries/ESP8266WebServer/src/Parsing-impl.h @@ -32,6 +32,8 @@ static const char Content_Type[] PROGMEM = "Content-Type"; static const char filename[] PROGMEM = "filename"; +namespace esp8266webserver { + template static bool readBytesWithTimeout(typename ServerType::ClientType& client, size_t maxLength, String& data, int timeout_ms) { @@ -578,3 +580,5 @@ bool ESP8266WebServerTemplate::_parseFormUploadAborted(){ _currentHandler->upload(*this, _currentUri, *_currentUpload); return false; } + +} // namespace diff --git a/libraries/ESP8266WebServer/src/detail/RequestHandler.h b/libraries/ESP8266WebServer/src/detail/RequestHandler.h index 174040a77..4195f0ff3 100644 --- a/libraries/ESP8266WebServer/src/detail/RequestHandler.h +++ b/libraries/ESP8266WebServer/src/detail/RequestHandler.h @@ -5,6 +5,8 @@ #include #include +namespace esp8266webserver { + template class RequestHandler { using WebServerType = ESP8266WebServerTemplate; @@ -31,4 +33,6 @@ public: } }; +} // namespace + #endif //REQUESTHANDLER_H diff --git a/libraries/ESP8266WebServer/src/detail/RequestHandlersImpl.h b/libraries/ESP8266WebServer/src/detail/RequestHandlersImpl.h index bb626abbd..dd3abe8ab 100644 --- a/libraries/ESP8266WebServer/src/detail/RequestHandlersImpl.h +++ b/libraries/ESP8266WebServer/src/detail/RequestHandlersImpl.h @@ -7,7 +7,7 @@ #include "WString.h" #include "Uri.h" -using namespace mime; +namespace esp8266webserver { template class FunctionRequestHandler : public RequestHandler { @@ -126,6 +126,7 @@ public: String contentType = mime::getContentType(path); + using namespace mime; // look for gz file, only if the original specified path is not a gz. So part only works to send gzip via content encoding when a non compressed is asked for // if you point the the path to gzip you will serve the gzip as content type "application/x-gzip", not text or javascript etc... if (!path.endsWith(FPSTR(mimeTable[gz].endsWith)) && !_fs.exists(path)) { @@ -164,5 +165,6 @@ protected: size_t _baseUriLength; }; +} // namespace #endif //REQUESTHANDLERSIMPL_H