Skip to content

Milestones

List view

  • 소켓 관련 코드 작성

    Overdue by 4 year(s)
    Due by May 15, 2021
    13/13 issues closed
  • `#define` 값에 대해서 의견을 맞추고 사용하자.

    No due date
    1/1 issues closed
  • RFC 7230 기준으로 HTTP message (request + response) 파싱 구현

    Overdue by 4 year(s)
    Due by April 30, 2021
    4/4 issues closed
  • ```c++ // webserv config file server root /test/directory server_name localhost port 80 error_page error.html index index.html head_length 8000 body_length 1000000 autoindex on timeout 10 auth testtest location /abc root a_directory index index.html index.php index.txt method POST PUT GET body_length 100 location /def root d_directory error_page d_error.html ``` 위와 같은 config 파일을 open함수로 읽고나서, 파싱 과정을 거쳐서 아래 있는 Server 클래스의 멤버변수 config_locations 에 Server 블록의 갯수 만큼 채워 넣는다. ```c++ #pragma once #include "Path.hpp" #include "Method.hpp" #include <string> #include <vector> #include <list> #include "Client.hpp" #include "Config.hpp" class Server { std::vector<Config> config_locations; // & 레퍼런스 삭제함(yunslee) std::list<Client> clients; public : Server(){}; }; class Config { protected: std::string name; Path root; // def = / uint16_t port; // def = 80; std::vector<Path> index_page; // def = index.html Path error_page; // def = error.html uint64_t head_length_max; // def = 8k uint64_t body_length_max; // def = 1M bool autoindex; // def = off uint32_t timeout; // def = 5s Path auth; public: }; ``` Server 클래스의 멤버 변수 `std::vector<Config> config_locations` 에 넣는 작업

    Overdue by 4 year(s)
    Due by April 23, 2021
    6/7 issues closed