diff --git a/CMakeLists.txt b/CMakeLists.txt index d11e809..4b1206c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,7 +1,7 @@ cmake_minimum_required(VERSION 3.16) -project(expresso VERSION 0.1.5) +project(expresso VERSION 0.1.6) -set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_EXTENSIONS OFF) set(CMAKE_CXX_STANDARD_REQUIRED TRUE) diff --git a/include/expresso/constants/cors.h b/include/expresso/constants/cors.h new file mode 100644 index 0000000..06b4c9e --- /dev/null +++ b/include/expresso/constants/cors.h @@ -0,0 +1,31 @@ +#pragma once + +#include +#include + +namespace expresso { + +namespace constants { + +namespace cors { + +const std::set headers = {"accept", + "access-control-allow-credentials", + "access-control-allow-headers", + "access-control-allow-methods", + "access-control-allow-origin", + "access-control-expose-headers", + "access-control-max-age", + "authorization", + "content-type", + "origin", + "user-agent", + "x-requested-with"}; + +const std::string forbidden = "Forbidden"; + +} // namespace cors + +} // namespace constants + +} // namespace expresso \ No newline at end of file diff --git a/include/expresso/middleware/cors.h b/include/expresso/middleware/cors.h index 3e73528..44adbdb 100644 --- a/include/expresso/middleware/cors.h +++ b/include/expresso/middleware/cors.h @@ -29,9 +29,6 @@ class Cors : public Middleware { bool use(expresso::core::Request &req, expresso::core::Response &res) override; - - static const std::string FORBIDDEN; - static const std::set HEADERS; }; } // namespace middleware diff --git a/include/expresso/version.h b/include/expresso/version.h index 9b265fa..cd3e04b 100644 --- a/include/expresso/version.h +++ b/include/expresso/version.h @@ -2,4 +2,4 @@ #define EXPRESSO_VERSION_MAJOR 0 #define EXPRESSO_VERSION_MINOR 1 -#define EXPRESSO_VERSION_PATCH 5 \ No newline at end of file +#define EXPRESSO_VERSION_PATCH 6 \ No newline at end of file diff --git a/src/middleware/cors.cpp b/src/middleware/cors.cpp index 4a09de0..ff8a97e 100644 --- a/src/middleware/cors.cpp +++ b/src/middleware/cors.cpp @@ -1,29 +1,9 @@ +#include #include -namespace expresso::middleware { - -const std::set Cors::HEADERS = { - "accept", - "access-control-allow-credentials", - "access-control-allow-headers", - "access-control-allow-methods", - "access-control-allow-origin", - "access-control-expose-headers", - "access-control-max-age", - "authorization", - "content-type", - "origin", - "user-agent", - "x-requested-with", -}; - -const std::string Cors::FORBIDDEN = "Forbidden"; - -} // namespace expresso::middleware - expresso::middleware::Cors::Cors() : credentials(false), allowAllOrigins(false), allowedHeaders("") { - for (std::string _header : this->HEADERS) { + for (std::string _header : expresso::constants::cors::headers) { this->headers.insert(_header); } @@ -87,7 +67,7 @@ bool expresso::middleware::Cors::use(expresso::core::Request &req, if (requestOrigin == "") { res.set("access-control-allow-origin", "null"); res.status(expresso::enums::STATUS_CODE::FORBIDDEN) - .send(expresso::middleware::Cors::FORBIDDEN); + .send(expresso::constants::cors::forbidden); return false; } @@ -103,7 +83,7 @@ bool expresso::middleware::Cors::use(expresso::core::Request &req, if (!isOriginPresent) { res.set("access-control-allow-origin", "null"); res.status(expresso::enums::STATUS_CODE::FORBIDDEN) - .send(expresso::middleware::Cors::FORBIDDEN); + .send(expresso::constants::cors::forbidden); return false; }