commit - f75e0f1a72dbf7c35a7025aa53287d5c8c1af5a7
commit + 45ea045f54d365087cb301965fbc33e8bc2b18b1
blob - 80f5fd39ef57ac01af4d912703a1fab13a12890e
blob + 341cc92532e6ef1ef93de4c2dd90850a57ef276d
--- vostok/vostok.cc
+++ vostok/vostok.cc
void client_thread(const transport::AcceptedClient *accepted_client, int directory_fd, const Mime &mime)
{
+ struct LogThreadId
+ {
+ LogThreadId() {error::g_log << "+" << std::hex << m_thread_id << " ";}
+ ~LogThreadId() { error::g_log << "-" << std::hex << m_thread_id << std::endl;}
+
+ const std::thread::id m_thread_id{std::this_thread::get_id()};
+ } log_thread_id;
+
assert(accepted_client);
std::unique_ptr<const transport::AcceptedClient> accepted_client_deleter{accepted_client};
std::string path;
const auto parse_result = request.parse(path);
+ if (parse_result != Request::URL_OK)
+ {
+ error::g_log << "\"";
+ for (const auto byte : request.m_buffer)
+ error::g_log << "\\x" << std::hex << static_cast<int>(byte);
+ error::g_log << "\" ";
+ }
switch (parse_result)
{
case Request::BAD_REQUEST:
error::occurred("Parse request", []{error::g_log << meta::BAD_REQUEST;});
- error::g_log << std::dec << request.m_buffer.size();
- for (const auto byte : request.m_buffer)
- error::g_log << " 0x" << std::hex << static_cast<int>(byte);
- error::g_log << std::endl;
send_response(accepted_client->get_ctx(), gemini::STATUS_59_BAD_REQUEST, meta::BAD_REQUEST);
return;
case Request::URL_TOO_SHORT:
return;
case Request::URL_NON_GEMINI:
error::occurred("Parse request", []{error::g_log << meta::NON_GEMINI;});
- error::g_log << std::dec << request.m_buffer.size();
- for (const auto byte : request.m_buffer)
- error::g_log << " 0x" << std::hex << static_cast<int>(byte);
- error::g_log << std::endl;
send_response(accepted_client->get_ctx(), gemini::STATUS_53_PROXY_REQUEST_REFUSED, meta::NON_GEMINI);
return;
case Request::URL_ROOT_TRAVERSE: