Closed ayase-mstk closed 3 months ago
対応ありがとうございます。 追加で一点似たような処理で気になりました。
・EventHandler,cpp そもそも、parse errorのような場合、configの値は見られずにエラーがresponseとして生成されるのかと思ったのですが、以下のような処理って正しいのでしょうか?
// Hostヘッダーがあるか確認 // 400エラーがerror_pageで拾われて内部リダイレクトする可能性があるので以下の処理は必要。 // このように探すdirectiveがほんとにこのクライアントが最後にアクセスしたコンテキストかは怪しい。 it = conn_manager.getRequest(sock).headers_.find("Host"); std::string host_name; if (it == conn_manager.getRequest(sock).headers_.end()) host_name = ""; else host_name = it->second;
本来configの値を見る必要はなくなりますが、ここでは他の場合と共通の処理に通したいのでこのように見ています。 共通の処理というのは下でやっている、searchKeepaliveTimeout()などでtimeout値を取得するということです。
parseエラーがおきるようなテストパターンを、結合テストにも追加して欲しいです。
parseエラーがおきるようなテストパターンを、結合テストにも追加して欲しいです。
かしこまりました!
ホストヘッダーがない時にgenerateResponse()の始めに空のホストヘッダーをつけることにしました。