merging
This commit is contained in:
23
42.config
Normal file
23
42.config
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
|
||||||
|
server {
|
||||||
|
|
||||||
|
|
||||||
|
server_name server1;
|
||||||
|
listen 0.0.0.0:4040;
|
||||||
|
client_body_limit 1000;
|
||||||
|
|
||||||
|
index youpi.bla; # this is another comment
|
||||||
|
|
||||||
|
root ./YoupiBanane/;
|
||||||
|
|
||||||
|
error_page 404 ./www/error_pages/error_404.html;
|
||||||
|
|
||||||
|
location / {
|
||||||
|
allow_methods GET;
|
||||||
|
}
|
||||||
|
|
||||||
|
location /directory {
|
||||||
|
index youpi.bad_extention;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -5,7 +5,7 @@ server {
|
|||||||
|
|
||||||
server_name server1;
|
server_name server1;
|
||||||
|
|
||||||
listen 0.0.0.0:4040;
|
listen 0.0.0.0:8080;
|
||||||
|
|
||||||
client_body_limit 1;
|
client_body_limit 1;
|
||||||
# Max == 18446744073709551615 / 1024 == 18014398509481984
|
# Max == 18446744073709551615 / 1024 == 18014398509481984
|
||||||
|
|||||||
98
Tester/test3.config
Normal file
98
Tester/test3.config
Normal file
@@ -0,0 +1,98 @@
|
|||||||
|
|
||||||
|
server {
|
||||||
|
|
||||||
|
# this is a comment
|
||||||
|
|
||||||
|
server_name server1;
|
||||||
|
|
||||||
|
listen 8080;
|
||||||
|
# listen 70000;
|
||||||
|
|
||||||
|
# client_body_limit asdfa;
|
||||||
|
client_body_limit 1000;
|
||||||
|
# Max == 18446744073709551615 / 1024 == 18014398509481984
|
||||||
|
|
||||||
|
index index.html; # this is another comment
|
||||||
|
#index mdr.html; # this is another comment
|
||||||
|
|
||||||
|
root ./Tester/www/;
|
||||||
|
|
||||||
|
error_page 404 ./Tester/www/error_pages/error_404.html;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
location / {
|
||||||
|
allow_methods GET;
|
||||||
|
root ./Tester/www/;
|
||||||
|
}
|
||||||
|
|
||||||
|
location /srcs/cgi-bin/ {
|
||||||
|
root ./srcs/cgi-bin/;
|
||||||
|
allow_methods POST;
|
||||||
|
cgi_ext php;
|
||||||
|
}
|
||||||
|
|
||||||
|
location /list {
|
||||||
|
autoindex on;
|
||||||
|
}
|
||||||
|
|
||||||
|
location /cgi-bin {
|
||||||
|
root ./srcs/cgi-bin/;
|
||||||
|
cgi_ext out php sh;
|
||||||
|
}
|
||||||
|
|
||||||
|
location /upload {
|
||||||
|
allow_methods POST;
|
||||||
|
autoindex on;
|
||||||
|
upload_dir ./Tester/www/user_files/;
|
||||||
|
# root doesn’t matter if used only with POST and no CGI
|
||||||
|
}
|
||||||
|
|
||||||
|
location /the_dump {
|
||||||
|
allow_methods GET DELETE;
|
||||||
|
root ./Tester/www/user_files;
|
||||||
|
autoindex on;
|
||||||
|
}
|
||||||
|
|
||||||
|
location /redirect {
|
||||||
|
redirect 307 https://fr.wikipedia.org/wiki/Ketchup;
|
||||||
|
# redirect 307 https://www.youtube.com/watch?v=rG6b8gjMEkw;
|
||||||
|
}
|
||||||
|
|
||||||
|
location /test {
|
||||||
|
index index1.html subdex.html;
|
||||||
|
root ./Tester/www/test/;
|
||||||
|
}
|
||||||
|
|
||||||
|
location /stylesheet {
|
||||||
|
root ./stylesheet/;
|
||||||
|
}
|
||||||
|
|
||||||
|
location /test/index1.html {
|
||||||
|
root ./Tester/www/test/index1.html;
|
||||||
|
index index1.html subdex.html;
|
||||||
|
}
|
||||||
|
|
||||||
|
location /hilarious_404/ {
|
||||||
|
redirect 301 https://berniesanders.com/404/;
|
||||||
|
}
|
||||||
|
|
||||||
|
location /test/something.html {
|
||||||
|
# allow_methods DELETE;
|
||||||
|
root ./Tester/www/test/something.html;
|
||||||
|
}
|
||||||
|
|
||||||
|
location /test/test_deeper/ {
|
||||||
|
# allow_methods
|
||||||
|
root ./Tester/www/test/test_deeper/;
|
||||||
|
}
|
||||||
|
|
||||||
|
location /test/test_deeper/super_deep {
|
||||||
|
root ./Tester/www/test/test_deeper/super_deep/;
|
||||||
|
}
|
||||||
|
|
||||||
|
# location /test/test_deeper/something.html {
|
||||||
|
# allow_methods DELETE;
|
||||||
|
# }
|
||||||
|
|
||||||
|
}
|
||||||
@@ -3,7 +3,7 @@
|
|||||||
test_name="Body Test"
|
test_name="Body Test"
|
||||||
|
|
||||||
config_file="./Tester/test2.config"
|
config_file="./Tester/test2.config"
|
||||||
port=4040
|
port=8080
|
||||||
host="localhost"
|
host="localhost"
|
||||||
|
|
||||||
#paths=("/" "/test" "/test/" "/list" "list" "/wrong") # you can add many
|
#paths=("/" "/test" "/test/" "/list" "list" "/wrong") # you can add many
|
||||||
|
|||||||
74
Tester/test_port.sh
Normal file
74
Tester/test_port.sh
Normal file
@@ -0,0 +1,74 @@
|
|||||||
|
#! /bin/bash
|
||||||
|
|
||||||
|
test_name="Port Test"
|
||||||
|
|
||||||
|
config_file="./Tester/test3.config"
|
||||||
|
port=8080
|
||||||
|
host="localhost"
|
||||||
|
|
||||||
|
#paths=("/" "/test" "/test/" "/list" "list" "/wrong") # you can add many
|
||||||
|
paths=("/") # you can add many
|
||||||
|
#methods=("GET" "POST" "DELETE")
|
||||||
|
methods=("GET")
|
||||||
|
httpz=("HTTP/1.1")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
l1="${methods[0]} ${paths[0]} ${httpz[0]}"
|
||||||
|
|
||||||
|
header="Host: $host"
|
||||||
|
body=
|
||||||
|
|
||||||
|
|
||||||
|
run_this_test()
|
||||||
|
{
|
||||||
|
|
||||||
|
for i in "${paths[@]}"
|
||||||
|
do
|
||||||
|
l1="${methods[0]} $i ${httpz[0]}"
|
||||||
|
request="$l1\n$header\n$body\n"
|
||||||
|
{
|
||||||
|
echo "----- $test_name -----"
|
||||||
|
echo -e "$_RED$request$_END"
|
||||||
|
} >> telnet.log
|
||||||
|
echo -e "$request"
|
||||||
|
sleep 1
|
||||||
|
echo -e "\n" >> telnet.log
|
||||||
|
done
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# expected result...
|
||||||
|
|
||||||
|
|
||||||
|
files=()
|
||||||
|
|
||||||
|
file="expected_path_test.txt"
|
||||||
|
files+=("expected_path_test.txt")
|
||||||
|
#files+=("expected_path_root_test.txt")
|
||||||
|
#files+=("expected_path_testnoslash_test.txt")
|
||||||
|
#files+=("expected_path_testslash_test.txt")
|
||||||
|
#files+=("expected_path_list_test.txt")
|
||||||
|
#files+=("expected_path_badlist_test.txt")
|
||||||
|
#files+=("expected_path_wrong_test.txt")
|
||||||
|
|
||||||
|
|
||||||
|
#local_expected_test_file=$file
|
||||||
|
local_expected_test_files=()
|
||||||
|
test_path=""
|
||||||
|
|
||||||
|
add_path()
|
||||||
|
{
|
||||||
|
for i in "${files[@]}"
|
||||||
|
do
|
||||||
|
local_expected_test_files+=("$test_path$i")
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
#add_path
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
29
compare.txt
29
compare.txt
@@ -1,27 +1,4 @@
|
|||||||
telnet> Trying 127.0.0.1...
|
telnet> Trying 127.0.0.1...
|
||||||
Connected to localhost.
|
telnet> ?Invalid command
|
||||||
Escape character is '^]'.
|
telnet> ?Invalid command
|
||||||
HTTP/1.1 200 OK
|
telnet> telnet> telnet>
|
||||||
Server: Webserv/0.1
|
|
||||||
Connection: keep-alive
|
|
||||||
Content-Type: text/html; charset=UTF-8
|
|
||||||
Content-Length: 193
|
|
||||||
|
|
||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<title>Le Webserv</title>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<h1 style="text-align:center">Le index (˘ ͜ʖ˘)</h1>
|
|
||||||
<hr>
|
|
||||||
<p style="text-align:center">(˚3˚)</p>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
HTTP/1.1 400 Bad Request
|
|
||||||
Server: Webserv/0.1
|
|
||||||
Connection: close
|
|
||||||
Content-Type: text/html; charset=UTF-8
|
|
||||||
Content-Length: 185
|
|
||||||
|
|
||||||
<!DOCTYPE html><html><head><title>400 Bad Request</title></head><body><h1 style="text-align:center">400 Bad Request</h1><hr><p style="text-align:center">Le Webserv/0.1</p></body></html>
|
|
||||||
@@ -22,7 +22,8 @@ _END='\033[0m'
|
|||||||
|
|
||||||
#test_file_names=("test_template.sh" "test_header.sh" "test_path.sh")
|
#test_file_names=("test_template.sh" "test_header.sh" "test_path.sh")
|
||||||
#test_file_names=("test_method.sh" "test_header.sh" "test_path.sh")
|
#test_file_names=("test_method.sh" "test_header.sh" "test_path.sh")
|
||||||
test_file_names=("test_body.sh")
|
test_file_names=("test_port.sh")
|
||||||
|
#test_file_names=("test_body.sh")
|
||||||
#test_file_names=("test_valid_uri.sh")
|
#test_file_names=("test_valid_uri.sh")
|
||||||
#test_file_names=("test_path.sh")
|
#test_file_names=("test_path.sh")
|
||||||
|
|
||||||
|
|||||||
@@ -421,9 +421,9 @@ void Client::_parse_port_hostname(std::string host)
|
|||||||
|
|
||||||
void Client::_check_request_errors()
|
void Client::_check_request_errors()
|
||||||
{
|
{
|
||||||
// /* Debug */ std::cerr << "Content-Length=" << get_rq_headers("Content-Length") << "\n";
|
/* Debug */ std::cerr << "Content-Length=" << get_rq_headers("Content-Length") << "\n";
|
||||||
// /* Debug */ std::cerr << "strtoul=" << std::strtoul(get_rq_headers("Content-Length").c_str(), NULL, 10) << "\n";
|
/* Debug */ std::cerr << "strtoul=" << std::strtoul(get_rq_headers("Content-Length").c_str(), NULL, 10) << "\n";
|
||||||
// /* Debug */ std::cerr << "client_body_limit=" << assigned_server->client_body_limit << "\n";
|
/* Debug */ std::cerr << "client_body_limit=" << assigned_server->client_body_limit << "\n";
|
||||||
///////////////////////
|
///////////////////////
|
||||||
// Request line checks
|
// Request line checks
|
||||||
if (_request.method == UNKNOWN)
|
if (_request.method == UNKNOWN)
|
||||||
|
|||||||
Reference in New Issue
Block a user