Webserv
Loading...
Searching...
No Matches
Handler.hpp
Go to the documentation of this file.
1#pragma once
2
3#include "http/MimeTypes.hpp"
4#include "http/Request.hpp"
5#include "http/Response.hpp"
6
7namespace http {
8
15class IHandler {
16public:
17 virtual ~IHandler() {};
18};
19
24public:
25 static void handle(Request const &, Response &, MimeTypes const &);
26};
27
29{
30public:
31 static void handle(Request const &, Response &, MimeTypes const &);
32};
33
34
35class ReturnHandler : public IHandler {
36public:
37 static void handle(Request const &, Response &);
38};
39
41public:
42 static void handle(Request const &, Response &, MimeTypes const &);
43};
44
46public:
47 static void handle(Request const &, Response &);
48};
49
51public:
52 static void populateResponse(Response &);
53};
54
56public:
57 static void handle(Request const &request, Response &response, MimeTypes const &mimeTypes);
58 static void populateResponse(Response &);
59};
60
61#define CHECK_FOR_SERVER_AND_LOCATION(req, res) \
62 if (!req.location() || !req.server()) \
63 return (void)res.status(NOT_FOUND)
64
65} // namespace http
Definition Handler.hpp:55
static void populateResponse(Response &)
Definition DefaultError.cpp:88
static void handle(Request const &request, Response &response, MimeTypes const &mimeTypes)
Definition DefaultError.cpp:117
Definition Handler.hpp:45
static void handle(Request const &, Response &)
Definition FileDelete.cpp:66
Definition Handler.hpp:40
static void handle(Request const &, Response &, MimeTypes const &)
Definition FileUploadHandler.cpp:30
Definition Handler.hpp:29
static void handle(Request const &, Response &, MimeTypes const &)
Definition HeadHeader.cpp:9
Abstract interface for all request handlers (Strategy Pattern).
Definition Handler.hpp:15
virtual ~IHandler()
Definition Handler.hpp:17
Definition Handler.hpp:50
static void populateResponse(Response &)
Definition JsonError.cpp:40
Definition MimeTypes.hpp:11
Definition Request.hpp:66
A data container for an HTTP response, managed via a fluent API.
Definition Response.hpp:33
Definition Handler.hpp:35
static void handle(Request const &, Response &)
Definition Return.cpp:11
Handles serving static files from the filesystem.
Definition Handler.hpp:23
static void handle(Request const &, Response &, MimeTypes const &)
Definition StaticFile.cpp:15
Definition IArgument.hpp:5