merge luke works with separate files

This commit is contained in:
hugogogo
2022-07-30 18:35:57 +02:00
21 changed files with 1154 additions and 34 deletions

View File

@@ -6,9 +6,9 @@
# include <string>
# include <map>
class Client
struct Client
{
public:
// public:
// Client(Placeholder);
// Client();
// Client(Client const &src);
@@ -18,9 +18,11 @@ class Client
int fd;
std::string raw_request;
std::map<std::string, std::string> request;
std::map<std::string, std::string> response;
// std::map<std::string, std::string> response;
std::string response;
unsigned int status;
private:
// private:
};

View File

@@ -10,7 +10,7 @@
# include <sstream> // stringstream
# include <cerrno> // errno
# include <cstdio> // perror
# include <unistd.h> // close
# include <unistd.h> // close, access
# include <iostream> // cout, cin
# include <cstring> // memset
# include <sys/socket.h> // socket, accept, listen, send, recv, bind, connect, setsockopt, getsockname
@@ -20,25 +20,35 @@
# include <fcntl.h> // fcntl
# include <sys/wait.h> // waitpid
# include <csignal> // signal
# include <cstdlib> // itoa
char *ft_itoa(int n);
# include <fstream> // ifstream
# include "Client.hpp"
# include "Server.hpp"
# define BUFSIZE 8192
# define TIMEOUT 10 * 1000
# define MAX_EVENTS 42 // arbitrary
# define MSG_TEST "Le Webserv / 20 =D\n"
//# define BUFSIZE 8192
//# define TIMEOUT 10 * 1000
//# define MAX_EVENTS 42 // arbitrary
//# define MSG_TEST "Le Webserv / 20 =D\n"
extern bool g_run;
extern int g_last_signal;
void signal_handler(int signum);
class Webserv
{
public:
// base.cpp
Webserv();
// Webserv(Webserv const &src);
~Webserv();
// Webserv &operator=(Webserv const &rhs);
// init.cpp
void init_virtual_servers(); // ADD config param
void start();
// run_loop.cpp
void run();
private:
int _epfd;
@@ -46,19 +56,26 @@ class Webserv
// std::vector<Server> _servers;
std::vector<Client> _clients;
// accept.cpp
void _accept_connection(int fd);
// request.cpp
void _request(Client *client);
void _read_request(Client *client);
// response.cpp
void _response(Client *client);
void _send_response(Client *client);
void _construct_response(Client *client);
void _insert_status_line(Client *client);
void _get_ressource(Client *client);
// epoll_update.cpp
int _epoll_update(int fd, uint32_t events, int op);
int _epoll_update(int fd, uint32_t events, int op, void *ptr);
// signal.cpp
void _handle_last_signal();
// void _signal_handler(int signum); // invalide dans une class
Client* _actual_client;
// close.cpp
void _close_client(int fd);
void _close_all_clients();
// init.cpp
void _bind(int socket_fd, in_port_t port);
void _listen(int socket_fd, unsigned int max_connections);