やりたいこと
webservはリクエストの情報をHttpParseに送るかどうかを判定をどうするか?を定義したい
仮説
リクエスト全体書式が送られたきたらHttpParseにリクエスト情報を渡すのではないか
- リクエスト全体の書式かどうかはCRLF CRLFで判定すると考えている。例えばapacheで"GET / HTTP/1.1 \r\n\r\n"をリクエストの情報として渡した時に408のRequest Time Errorが出力されのでCRLF CRLFがリクエスト全体の書式かどうかを判断してるのではないか
やること
- リクエスト情報をどのように読み込むのがHTTPサーバーとして推奨されてるのかを知るためにRFCを読む
- RFCを元にapacheにたくさんリクエスト情報を送り、入出力の結果と理由をnotionでまとめて共有する
きっかけ
今後、そもそも CRLF + CRLF が buf にない場合とか、CRLF がない request_line だけの場合とかにどうすれば良いのか考えないとですね…
void HttpParse::CheckValidHttpRequest(const std::string& request_info) {
// CRLFCRLFが見つからない場合 -> BAD REQUEWST
// CRLFが見つからない場合 -> BAD REQUEWST
if (std::find())
// todo: #192 HTTP全体の書式に設定する条件文
if (request_line_info[0].empty() || request_line_info[1].empty() ||
request_line_info[2].empty()) {
throw HttpParseException("Error: This request line is incomplete.", BAD_REQUEST);
}
}
やりたいこと
webservはリクエストの情報をHttpParseに送るかどうかを判定をどうするか?を定義したい
仮説
リクエスト全体書式が送られたきたらHttpParseにリクエスト情報を渡すのではないか
やること
きっかけ