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

Method createRequestHandler

src/Server/HTTPHandlerFactory.cpp:42–64  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

40}
41
42std::unique_ptr<HTTPRequestHandler> HTTPRequestHandlerFactoryMain::createRequestHandler(const HTTPServerRequest & request)
43{
44 LOG_TRACE(log, "HTTP Request for {}. Method: {}, Address: {}, User-Agent: {}{}, Content Type: {}, Transfer Encoding: {}, X-Forwarded-For: {}",
45 name, request.getMethod(), request.clientAddress().toString(), request.get("User-Agent", "(none)"),
46 (request.hasContentLength() ? (", Length: " + std::to_string(request.getContentLength())) : ("")),
47 request.getContentType(), request.getTransferEncoding(), request.get("X-Forwarded-For", "(none)"));
48
49 for (auto & handler_factory : child_factories)
50 {
51 auto handler = handler_factory->createRequestHandler(request);
52 if (handler)
53 return handler;
54 }
55
56 if (request.getMethod() == Poco::Net::HTTPRequest::HTTP_GET
57 || request.getMethod() == Poco::Net::HTTPRequest::HTTP_HEAD
58 || request.getMethod() == Poco::Net::HTTPRequest::HTTP_POST)
59 {
60 return std::unique_ptr<HTTPRequestHandler>(new NotFoundHandler);
61 }
62
63 return nullptr;
64}
65
66static inline auto createHandlersFactoryFromConfig(
67 IServer & server, const std::string & name, const String & prefix, AsynchronousMetrics & async_metrics, ContextMutablePtr context)

Callers 1

runMethod · 0.45

Calls 4

to_stringFunction · 0.50
toStringMethod · 0.45
getMethod · 0.45
getContentTypeMethod · 0.45

Tested by

no test coverage detected