Skip to content

move req res cookie to messages folder #112

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Oct 27, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions example/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
// that the code could be more readable ¯\_(ツ)_/¯
using namespace expresso::core;
using namespace expresso::enums;
using namespace expresso::messages;
using namespace expresso::middleware;

// Global variable, just for fun :)
Expand Down
51 changes: 35 additions & 16 deletions include/expresso/core/router.h
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,23 @@ namespace core {

class Router {
private:
std::map<std::string, void (*)(Request &request, Response &response)> getMap;
std::map<std::string, void (*)(Request &request, Response &response)> postMap;
std::map<std::string, void (*)(Request &request, Response &response)> putMap;
std::map<std::string, void (*)(Request &request, Response &response)>
std::map<std::string, void (*)(expresso::messages::Request &request,
expresso::messages::Response &response)>
getMap;
std::map<std::string, void (*)(expresso::messages::Request &request,
expresso::messages::Response &response)>
postMap;
std::map<std::string, void (*)(expresso::messages::Request &request,
expresso::messages::Response &response)>
putMap;
std::map<std::string, void (*)(expresso::messages::Request &request,
expresso::messages::Response &response)>
patchMap;
std::map<std::string, void (*)(Request &request, Response &response)>
std::map<std::string, void (*)(expresso::messages::Request &request,
expresso::messages::Response &response)>
deleteMap;
std::map<std::string, void (*)(Request &request, Response &response)>
std::map<std::string, void (*)(expresso::messages::Request &request,
expresso::messages::Response &response)>
optionsMap;
std::map<std::string, Router *> routerMap;

Expand All @@ -24,33 +33,43 @@ class Router {

std::vector<std::unique_ptr<expresso::middleware::Middleware>> middlewares;

bool handleMiddlewares(Request &request, Response &response);
std::map<std::string, void (*)(Request &request, Response &response)> &
bool handleMiddlewares(expresso::messages::Request &request,
expresso::messages::Response &response);
std::map<std::string, void (*)(expresso::messages::Request &request,
expresso::messages::Response &response)> &
fetchMapFromMethod(expresso::enums::method method);
void addRoute(expresso::enums::method method, std::string path,
void (*handler)(Request &request, Response &response));
void (*handler)(expresso::messages::Request &request,
expresso::messages::Response &response));

public:
Router();
~Router();

void get(std::string path,
void (*handler)(Request &request, Response &response));
void (*handler)(expresso::messages::Request &request,
expresso::messages::Response &response));
void post(std::string path,
void (*handler)(Request &request, Response &response));
void (*handler)(expresso::messages::Request &request,
expresso::messages::Response &response));
void put(std::string path,
void (*handler)(Request &request, Response &response));
void (*handler)(expresso::messages::Request &request,
expresso::messages::Response &response));
void patch(std::string path,
void (*handler)(Request &request, Response &response));
void (*handler)(expresso::messages::Request &request,
expresso::messages::Response &response));
void del(std::string path,
void (*handler)(Request &request, Response &response));
void (*handler)(expresso::messages::Request &request,
expresso::messages::Response &response));
void options(std::string path,
void (*handler)(Request &request, Response &response));
void (*handler)(expresso::messages::Request &request,
expresso::messages::Response &response));

void use(std::string path, Router *router);
void use(std::unique_ptr<expresso::middleware::Middleware> middleware);

void handleRequest(Request &request, Response &response);
void handleRequest(expresso::messages::Request &request,
expresso::messages::Response &response);
};

} // namespace core
Expand Down
2 changes: 1 addition & 1 deletion include/expresso/core/server.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ class Server : public Router {
void acceptConnections();
void handleConnection(int clientSocket);

expresso::core::Request makeRequest(std::string &request) noexcept(false);
expresso::messages::Request makeRequest(std::string &request) noexcept(false);
nexus::pool threadPool;

public:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

namespace expresso {

namespace core {
namespace messages {

class Cookie {
public:
Expand All @@ -28,6 +28,6 @@ class Cookie {
std::string serialize();
};

} // namespace core
} // namespace messages

} // namespace expresso
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
#pragma once

#include <expresso/core/response.h>
#include <expresso/messages/response.h>

namespace expresso {

namespace core {
namespace messages {

class Request {
private:
Expand All @@ -31,11 +31,11 @@ class Request {
std::map<std::string, std::string> params;
std::map<std::string, std::string> queries;

expresso::core::Response *res;
expresso::messages::Response *res;

void print();
};

} // namespace core
} // namespace messages

} // namespace expresso
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,13 @@
#include <json/object.h>
#include <zippuccino/zipper.h>

#include <expresso/core/cookie.h>
#include <expresso/enums/method.h>
#include <expresso/enums/status_code.h>
#include <expresso/messages/cookie.h>

namespace expresso {

namespace core {
namespace messages {

class Response {
private:
Expand Down Expand Up @@ -54,6 +54,6 @@ class Response {
void print();
};

} // namespace core
} // namespace messages

} // namespace expresso
4 changes: 2 additions & 2 deletions include/expresso/middleware/cacher.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@ class Cacher : public Middleware {
Cacher(uint32_t maxAge = 3600, bool isPrivate = false);
~Cacher();

bool use(expresso::core::Request &req,
expresso::core::Response &res) override;
bool use(expresso::messages::Request &req,
expresso::messages::Response &res) override;
};

} // namespace middleware
Expand Down
4 changes: 2 additions & 2 deletions include/expresso/middleware/cookie_parser.h
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ class CookieParser : public Middleware {
CookieParser();
~CookieParser();

bool use(expresso::core::Request &req,
expresso::core::Response &res) override;
bool use(expresso::messages::Request &req,
expresso::messages::Response &res) override;
};

} // namespace middleware
Expand Down
4 changes: 2 additions & 2 deletions include/expresso/middleware/cors.h
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@ class Cors : public Middleware {
void allowHeader(std::string header);
void allowCredentials(bool credentials);

bool use(expresso::core::Request &req,
expresso::core::Response &res) override;
bool use(expresso::messages::Request &req,
expresso::messages::Response &res) override;
};

} // namespace middleware
Expand Down
4 changes: 2 additions & 2 deletions include/expresso/middleware/date.h
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ class Date : public Middleware {
Date();
~Date();

bool use(expresso::core::Request &req,
expresso::core::Response &res) override;
bool use(expresso::messages::Request &req,
expresso::messages::Response &res) override;
};

} // namespace middleware
Expand Down
6 changes: 3 additions & 3 deletions include/expresso/middleware/middleware.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#pragma once

#include <expresso/core/request.h>
#include <expresso/messages/request.h>

namespace expresso {

Expand All @@ -12,8 +12,8 @@ class Middleware {
Middleware();
virtual ~Middleware() = default;

virtual bool use(expresso::core::Request &req,
expresso::core::Response &res) = 0;
virtual bool use(expresso::messages::Request &req,
expresso::messages::Response &res) = 0;
};

} // namespace middleware
Expand Down
6 changes: 3 additions & 3 deletions include/expresso/middleware/static_serve.h
Original file line number Diff line number Diff line change
Expand Up @@ -13,15 +13,15 @@ class StaticServe : public Middleware {
std::string dirname;

std::pair<int64_t, int64_t> getRange(const std::string &range);
std::string getFolderHTML(expresso::core::Request &req,
std::string getFolderHTML(expresso::messages::Request &req,
const std::string &localPath);

public:
StaticServe(std::string dirname, bool showListing = false);
~StaticServe();

bool use(expresso::core::Request &req,
expresso::core::Response &res) override;
bool use(expresso::messages::Request &req,
expresso::messages::Response &res) override;
};

} // namespace middleware
Expand Down
4 changes: 2 additions & 2 deletions include/expresso/middleware/version.h
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@ class Version : public Middleware {
Version();
~Version();

bool use(expresso::core::Request &request,
expresso::core::Response &response) override;
bool use(expresso::messages::Request &request,
expresso::messages::Response &response) override;
};

} // namespace middleware
Expand Down
Loading
Loading