44 lines
1.9 KiB
Plaintext
44 lines
1.9 KiB
Plaintext
----Priorité élevée------------------------
|
|
- CGI (TODO HUGO)
|
|
|
|
- Need to test normal body parsing (Verif avec HUGO)
|
|
|
|
- curl --resolve, for testing hostname
|
|
curl -v --resolve server1:4040:127.0.0.1 --resolve server2:4040:127.0.0.1 server1:4040
|
|
- test limit de connexions sur listen()
|
|
|
|
- handle redirection (Work, but weird behavior need deeper test)
|
|
- Ecrire des tests !
|
|
|
|
- cgi_cpp_status.cpp with POST dont show error page. Normal or not ?
|
|
|
|
For non blocking CGI :
|
|
// We could maybe,
|
|
// add FD_RD_FR_CHLD to epoll,
|
|
// return to the main loop,
|
|
// read FD_RD_FR_CHLD each time epoll say its ready,
|
|
// then try waitpid() with WNOHANG after each read.
|
|
// when waitpid() tell us its finish (or maybe when epoll return EPOLLHUP)
|
|
// then actually parse the script_output and send it to the client.
|
|
|
|
|
|
----Priorité modérée------------------------
|
|
- namespace utils ?
|
|
- change "std::string" to reference "std::string &" in most functions
|
|
and add "const" if apropriate.
|
|
- peut-être check si ip > 32bits
|
|
|
|
----Priorité faible------------------------
|
|
- chunked request (need testing)
|
|
- client_body_limit 0 valeur special pour desactiver dans config
|
|
- gerer le champ "Accept" du client
|
|
- gerer les ".." dans un URL (verifier que l'on ne sort pas du dossier "root")
|
|
- do correct handling of special character in url (/rfc2119_files/errata.js.t%C3%A9l%C3%A9chargement -> /rfc2119_files/errata.js.téléchargement)
|
|
- maybe add a "last_action_time" in Client for timeout handling
|
|
little global timeout on epoll, like 100ms, then find client that actualy need to timeout
|
|
if (actual_time - client.last_action_time > 10000ms){timeout(client)}
|
|
- add headers "Date" and "Last-Modified" to response
|
|
- change "std::string" to reference "std::string &" in most functions
|
|
and add "const" if apropriate.
|
|
- Il faut vérifier le path de la requête, voir si le serveur est bien censé délivrer cette ressource et si le client y a accès, avant d'appeler le CGI.
|