You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
82 lines
1.5 KiB
82 lines
1.5 KiB
#pragma once
|
|
#ifndef DEBUG
|
|
#define DEBUG 0
|
|
#endif
|
|
#ifndef SILENT
|
|
#define SILENT 1
|
|
#endif
|
|
#ifndef MAX_CLIENTS
|
|
#define MAX_CLIENTS 5000
|
|
#endif
|
|
|
|
#include <arpa/inet.h>
|
|
#include <dirent.h>
|
|
#include <fcntl.h>
|
|
#include <netinet/in.h>
|
|
#include <poll.h>
|
|
#include <sys/socket.h>
|
|
#include <sys/stat.h>
|
|
#include <sys/time.h>
|
|
#include <sys/types.h>
|
|
#include <sys/wait.h>
|
|
#include <stdio.h>
|
|
#include <unistd.h>
|
|
|
|
#include <algorithm>
|
|
#include <cctype>
|
|
#include <cerrno>
|
|
#include <climits>
|
|
#include <cstdio>
|
|
#include <cstdlib>
|
|
#include <cstring>
|
|
#include <fstream>
|
|
#include <iostream>
|
|
#include <iterator>
|
|
#include <sstream>
|
|
#include <string>
|
|
#include <map>
|
|
#include <vector>
|
|
|
|
using std::cout;
|
|
using std::strerror;
|
|
using std::string;
|
|
|
|
typedef struct ip_port_s {
|
|
int fd;
|
|
string ip;
|
|
int port;
|
|
} ip_port_t;
|
|
|
|
class JSONNode;
|
|
class Env;
|
|
class Server;
|
|
class Route;
|
|
class Master;
|
|
class Client;
|
|
|
|
typedef std::map<string, JSONNode *> JSONObject;
|
|
typedef std::vector<JSONNode *> JSONList;
|
|
typedef std::vector<string> vec_string;
|
|
|
|
// tools
|
|
void *ft_memset(void *b, int c, size_t len);
|
|
bool isAPort(string str);
|
|
vec_string split(string str, string delim);
|
|
ip_port_t get_ip_port_t(string listen);
|
|
ip_port_t get_ip_port_t(string ip, int port);
|
|
string getMime(string path);
|
|
string read_file(string path);
|
|
string file_answer(string path);
|
|
|
|
// debug
|
|
void debug_block(string name, string content);
|
|
|
|
#include "Client.hpp"
|
|
#include "Master.hpp"
|
|
|
|
#include "Nodes.hpp"
|
|
#include "Token.hpp"
|
|
#include "Parser.hpp"
|
|
#include "Route.hpp"
|
|
#include "Server.hpp"
|
|
#include "Env.hpp"
|
|
|