Commit Graph

104 Commits

Author SHA1 Message Date
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
hugogogo
de09c2357c php newline pbm resolved 2022-08-12 12:00:20 +02:00
hugogogo
c225063361 script output fields is checked for duplicate 2022-08-12 11:45:06 +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
hugogogo
a1fff0f8c2 added colors, for print_special
+ renamed client's public function parse_request() into parse_request_headers()
2022-08-11 17:46:27 +02:00
hugogogo
ad2b5a629a correct extract_line to avoid duplicate with erase or substr, and to resolve pbm of returning trailing delim 2022-08-11 17:33:42 +02:00
hugogogo
ff77dfd298 debug new request parsing 2022-08-11 14:50:56 +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
Me
08f6929db9 fixed autoindex 2022-08-11 02:15:40 +02:00
Me
c32fc2c8a2 I really hope this is the last time we fix Location Picker, i think it's good it's pretty elegant, basically set root and location path to never have / at end and that made things easier 2022-08-11 02:01:24 +02:00
hugogogo
27b4f96618 parsing headers is allright now
+ adding error codes in readme and in comments in client
2022-08-11 00:41:17 +02:00
Me
0b51d13f13 a few more things for location picker 2022-08-11 00:36:24 +02:00
hugogogo
1d67e6988d http message parsin wip but really better 2022-08-11 00:28:01 +02:00
hugogogo
11f71ea74f wip parsing first line http message with new utils functions 2022-08-10 20:27:48 +02:00
hugogogo
9a379c835d correction of trim in case of str only fill with delim char
+ added a new split, that also does trim, to split without counting newlines
2022-08-10 20:01:23 +02:00
LuckyLaszlo
360c27df5f done root substitution
+ autoindex/index adjustement
2022-08-10 19:59:05 +02:00
hugogogo
c7905ebd19 changed del_line_in_str to etract_line 2022-08-10 17:12:28 +02:00
hugogogo
17230ccc42 in cgi exec add save stdin and out 2022-08-10 16:24:24 +02:00
Me
69c1a6f6bf A Much better way of picking locations 2022-08-10 16:14:21 +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
Me
58f67bf42e fixed a tiny mistake in location picker 2022-08-10 02:07:17 +02:00
Me
f7f3e42b15 Merge remote-tracking branch 'origin/master' into eric_config_parser 2022-08-10 01:59:39 +02:00
Me
8e90221058 location picker works, needs to be tested more tho 2022-08-10 01:59:10 +02:00
LuckyLaszlo
f393aa46bf BUG: "Bad file descriptor" in _close_all_clients() 2022-08-09 22:29:35 +02:00
LuckyLaszlo
1eb989a3fd _determine_location() new version (to complete and test) 2022-08-09 20:47:21 +02:00
Me
56f4cf7e15 Eric notes to self 2022-08-09 20:06:28 +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
53a548e314 wip script output verification working
+ trim secure pos segfault
+ concat script message with server message
2022-08-09 14:57:05 +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
Me
1d3cdef7a6 Merge remote-tracking branch 'origin/master' into eric_config_parser 2022-08-09 02:38:09 +02:00
Me
97c90236b9 cgi_ext, redirect and upload_repo now functional in config, fixed location picker, some cleanup 2022-08-09 02:37:28 +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
LuckyLaszlo
a44b9b493a split respone.cpp file 2022-08-08 20:36:01 +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
f10931042f rewrite readme cgi todo list 2022-08-08 16:16:11 +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
hugogogo
da1f4b6e37 cgi exec compare with file method 2022-08-08 13:20:06 +02:00
LuckyLaszlo
02cfdf43bc bad_alloc handling
+ map.insert() replace map.operator[] for init, more efficient
2022-08-08 04:24:03 +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
cf69168a84 some cleanup of config stuff 2022-08-07 22:54:58 +02:00
hugogogo
63365a9067 cgi_script read and write on a string 2022-08-07 22:33:39 +02:00
Me
94852babc6 autoindex is working, a few things to iron out be we well on our way 2022-08-07 22:25:24 +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
hugogogo
e0fd743b5b key fields headers in map are in lowercase
+ getters for this map are case insensitive
+ change request fiel 'path' for 'uri', 'query', and 'abs_path'
2022-08-07 13:07:50 +02:00
LuckyLaszlo
4ab099ee4d redone _read_request(). Should work with any BUFSIZE.
+ WIP in some aspects. Need to adjust parse_request() among others things.
+ update memo.txt
2022-08-07 05:41:01 +02:00