Hugo LAMY
875810c992
merge hugo5 with script cgi tests
2022-08-17 18:26:06 +02:00
lperrey
9f3903d497
Fixed, close() forgottens fds after fork
...
+ minors changes
+ Super new epoll loop output :)
2022-08-17 01:49:31 +02:00
lperrey
ccc542f52b
Fixed big problem with CGI handling
...
+ remains somes minors problems
2022-08-17 01:11:20 +02:00
lperrey
2c6bc096cc
WIP CGI monitered by epoll
...
+ OK, but some errors case need to be lookup
2022-08-16 18:38:58 +02:00
Hugo LAMY
1ed4128afc
more script tests
...
+ add cgi checks for error in script output
+ fix script_path relative to absolute
+ cgi makefile more efficient
2022-08-16 18:24:49 +02:00
LuckyLaszlo
ff443c80b1
_exec_script() close fd and reset signal
...
+ somes more adjustements in _exec_script()
+ rough notes for non blocking CGI
2022-08-16 06:50:20 +02:00
LuckyLaszlo
4602844f5a
Multiples minors changes (cgi env, comment, ...)
2022-08-16 04:00:33 +02:00
lperrey
f8c6923c6d
fixed CGI alloc
...
+ handle unknow status from script
2022-08-16 01:46:24 +02:00
Hugo LAMY
a6bfea3b56
Merge branch 'hugo4'
2022-08-15 00:32:47 +02:00
Hugo LAMY
f6f63931ad
litle fix in utils trim
...
+ added 2 functions to check script output
+ created a html page with 4 forms for tests
+ created 2 cpp forms, with and without creating header content-length
2022-08-15 00:24:08 +02:00
LuckyLaszlo
ce0a004d28
Le merge / 20
2022-08-14 06:30:27 +02:00
LuckyLaszlo
84babec82b
added multipart upload file,
...
it works, but need some adjustements,
refactoring and testing
2022-08-14 06:25:06 +02:00
Hugo LAMY
db4c7468cc
is_cgi function is back and is working
...
+ in utils added function eval_file_mode(), it returns http errors codes about file
2022-08-14 01:05:20 +02:00
hugogogo
285f2d049f
+ in fill_script_path() : scipt_path and script_info are filled, removing leadin dot
...
+ in _cgi_pos() : check validity of extension if it's only alpha characters
+ severall pbm appears
2022-08-13 14:38:50 +02:00
hugogogo
f17bc9fa58
wip test path cgi :
...
- _cgi_pos seems to be ok
- construct url from return is not implemented yet
+ renamed script with extension .php and .cpp
2022-08-12 23:31:59 +02:00
LuckyLaszlo
b44acafefe
CGI discussion and a little bit of work done
2022-08-12 18:08:39 +02:00
Me
cade79c37f
started non hardcoded cgi call
2022-08-12 16:20:50 +02:00
hugogogo
2a70c6b26d
Merge branch 'hugo3'
...
+ script output verification works (field duplicate and status)
+ parsing_message_http :
- the file is deleted
- of the three functions it contained, only one still exist
- 'parse_http_headers' is now in utils
+ changes in utils :
- http headers parsing doesn't change key case itself
- a new function change key case tolower case in map<str, str>
- added split_trim() that perform a split and a trim at once
- resolved pbm in trim
- added print_special to print special char '\r' and '\n'
- del_line became extract_line, because it returns the deleted line
- added get line, that does the same without deleting
- moved http_header in utils, and made it more consistent
+ in Client :
- parse_request is now named parse_request_headers to work with parse body
- private function _parse_request_headers is then now _parse_request_fields
(because it doesn't take care of request first line, but only fields)
- added a debug function 'print_client'
2022-08-12 14:05:11 +02:00
LuckyLaszlo
400efbe720
Wip chunked decoding
...
+ Need to test normal body parsing
+ path_is_valid() renamed eval_file_type()
+ replaced atoi with strtol/strtoul
2022-08-12 05:50:00 +02:00
hugogogo
3a58b5d921
wip debug comparison fields output script
2022-08-11 19:42:09 +02:00
LuckyLaszlo
ab0bc2c4c0
added timeout response (status 408)
...
+ added EPOLLERR and EPOLLHUP handling
+ fix root substitution for default "/" location (temp or permanent ?)
+ tested siege a little, seems good
2022-08-11 07:12:13 +02:00
LuckyLaszlo
86f7740984
Moved most request errors check in Client
...
+ bugfix of "Bad file descriptor" due to empty operator=() in Client
+ added a condition in _determine_location_COOP_FIX()
+ udpate memo.txt
+ need fix for index/autoindex (location "/list" dont work)
2022-08-10 07:19:05 +02:00
hugogogo
482a38952e
Merge branch 'hugo2'
...
+ changed the appropriate getters for client
+ moved the functions to parse the http message
(first line, headers, and body)
outside client, in parsing_http_message.cpp
+ resolved some of the throw problems
2022-08-09 15:54:40 +02:00
hugogogo
3dad938e3c
add extern function for http message parsing
...
+ wip compare fields server and script
+ g tout cassey
2022-08-09 11:19:46 +02:00
LuckyLaszlo
643b09c4f7
_request() and _response() refactoring
...
+ Wip redirection (weird behavior)
+ 505 HTTP Version Not Supported
2022-08-09 01:46:59 +02:00
hugogogo
e1a68bc3e4
changes var in client
2022-08-08 18:06:41 +02:00
Me
7fdc81f5f4
a bit messy but merged index and autoindex work
2022-08-08 17:13:55 +02:00
hugogogo
972f52ebc8
client variables are const ref
2022-08-08 15:36:16 +02:00
Me
0a72778c8c
successful merge?
2022-08-08 15:25:16 +02:00
Me
9ee7205b95
Index and Autoindex work nicely, standarized way paths for root and location path are stored in config, still needs a little polishing prolly
2022-08-08 02:50:37 +02:00
Me
f777441edf
autoindex in progress but need to check stuff on master branch
2022-08-07 20:37:53 +02:00
LuckyLaszlo
1ccf61bc68
assign server and location to client in _read_request()
2022-08-07 17:37:24 +02:00
hugogogo
7ecfc22c7b
script path is found and fill
2022-08-07 15:51:36 +02:00
Me
4870b2c05d
Location sorter works, fixed the compilation error i was having on this branch, now working on autoindex
2022-08-07 03:24:49 +02:00
LuckyLaszlo
8ec1353723
fixed response.append(body) problem.
...
+ File I/O working but maybe not perfect (it seems complicated to do it with std::filebuf)
+ fixed Content-Type for unknown file extension
2022-08-07 01:38:33 +02:00
hugogogo
63ff42b57d
client variables are made const
2022-08-06 19:58:09 +02:00
LuckyLaszlo
05c7faf1f3
server search for client completed with host:port
2022-08-06 04:46:40 +02:00
LuckyLaszlo
e596d8f093
MIME types map for correct Content-type header
...
+ append body to string cause encoding problem, so added temp buf in Client.
2022-08-05 04:24:15 +02:00
LuckyLaszlo
3102253092
wip DELETE, POST (no cgi, need testing)
2022-08-04 20:56:37 +02:00
LuckyLaszlo
0026106bf6
default and custom error pages response
...
+ refactoring in response.cpp (functions split)
+ added Client::clear()
+ added replace_all_substr() in utils.cpp
2022-08-04 02:52:31 +02:00
LuckyLaszlo
6f5b28dd93
wip, need somes changes in ConfigParser.
...
+ _determine_location()
+ http_method changes
+ http_method switch in _construct_response()
+ ConfigParser::_str_to_method_type() moved to global utils.cpp
2022-08-03 18:39:22 +02:00
LuckyLaszlo
8f167d85f3
wip integration of client.request and ServerConfig
...
+ Client get return reference
+ wip binary flags for http_method
+ moved config parser files
2022-08-02 21:11:54 +02:00
LuckyLaszlo
5aabeb6b46
removed useless files
...
+ MethodType renamed to http_method, and moved to utils.hpp
+ operator= overload for Client moved to Client.cpp
2022-08-02 14:26:07 +02:00