MCPcopy Create free account
hub / github.com/ByConity/ByConity / handleRequest

Method handleRequest

src/Server/ProfilerRequestHandler.cpp:61–84  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

59}
60
61void ProfilerRequestHandler::handleRequest(HTTPServerRequest & request, HTTPServerResponse & response)
62{
63
64 const auto & uri = request.getURI();
65 LOG_INFO(&Poco::Logger::get("ProfilerHttp"), "fetching {}", uri);
66
67 std::string resource_name, content_type;
68 extractResourceAndType(uri, resource_name, content_type);
69 response.setContentType(content_type);
70
71 if (request.getVersion() == HTTPServerRequest::HTTP_1_1)
72 response.setChunkedTransferEncoding(true);
73
74 auto keep_alive_timeout = server.config().getUInt("keep_alive_timeout", 10);
75 setResponseDefaultHeaders(response, keep_alive_timeout);
76 const auto content = getResource(resource_name);
77 if (content.empty())
78 response.setStatusAndReason(Poco::Net::HTTPResponse::HTTP_BAD_REQUEST);
79 else
80 response.setStatusAndReason(Poco::Net::HTTPResponse::HTTP_OK);
81 *response.send() << content;
82
83 LOG_INFO(&Poco::Logger::get("ProfilerHttp"), "return {}, type {}", resource_name, content_type);
84}
85
86}

Callers

nothing calls this directly

Calls 9

extractResourceAndTypeFunction · 0.85
getResourceFunction · 0.85
getFunction · 0.50
getVersionMethod · 0.45
getUIntMethod · 0.45
configMethod · 0.45
emptyMethod · 0.45
sendMethod · 0.45

Tested by

no test coverage detected