soma0822 / webserv

2 stars 1 forks source link

permissionとallow_methodのテスト用のconfig,ファイル #369

Closed soma0822 closed 7 months ago

soma0822 commented 7 months ago

1. issue number

400番台のレスポンスを返すリクエストを作った

2. やったこと

リクエストと、最低限のconfig、htmlファイル

3. やらないこと

権限の変更 uri_too_longの時、実際に存在するファイルへのリクエストで行いたかったができなかった。(ファイル名が最大255文字なので10個くらい入れ子にする必要があったが、5個くらいでそれ以上読み込んでくれなくなった)(????) pay_load_too_largeはボディが10億超えるのもテスト入れたかったが、ベタガキはキモいのでやるにしても他の方法の方が良さそう?

4. 動作確認

親ディレクトリに権限がない場合に file_utils::DoesFileExist(request_file_path)がfalseを返していそう

soma@somanoMacBook-Air webserv % cat '/Users/soma/webserv/test/e2e/request/forbidden_403/delete.txt' | awk 1 ORS='\r\n' | curl telnet://localhost:8002
HTTP/1.1 200 OK
Content-Length: 136

<html>
<head><title>200 OK</title></head>
<body>
<center><h1>200 OK</h1></center>
<hr><center>webserver</center>
</body>
</html>
^C
soma@somanoMacBook-Air webserv % cat '/Users/soma/webserv/test/e2e/request/forbidden_403/delete.txt' | awk 1 ORS='\r\n' | curl telnet://localhost:8002
HTTP/1.1 404 Not Found
Content-Length: 150

<html>
<head><title>404 Not Found</title></head>
<body>
<center><h1>404 Not Found</h1></center>
<hr><center>webserver</center>
</body>
</html>
  // ファイルが存在しない場合には404を返す
  if (!file_utils::DoesFileExist(request_file_path) ||
      !path_translated.empty()) {
    Logger::Debug() << __FILE__ << " line:" << __LINE__ << " : " << request_file_path << (file_utils::DoesFileExist(request_file_path) == true ? "は存在します" : "は存在しません") << std::endl;
    return Some(GenerateErrorResponse(http::kNotFound, config));
  }
[DEBUG] src/http/request_handler.cpp line:227 : ./www/test/read_only/tmp.htmlは存在しません

5. 懸念点

6. 最近楽しかったこと

7. その他