From 6e6ea577161dca9c1ecb5d5c2159a85459320cf6 Mon Sep 17 00:00:00 2001 From: Jadit19 Date: Fri, 11 Oct 2024 00:11:03 +0530 Subject: [PATCH] separate out cors constants --- include/expresso/constants/cors.h | 31 ++++++++++++++++++++++++++++++ include/expresso/middleware/cors.h | 3 --- src/middleware/cors.cpp | 28 ++++----------------------- 3 files changed, 35 insertions(+), 27 deletions(-) create mode 100644 include/expresso/constants/cors.h 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/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; }