Added flatbuffer support to the server request handler.

This commit is contained in:
Denis Chaplygin 2019-08-05 13:45:21 +03:00
parent 75aadb0f3f
commit 56406e80ce

View File

@ -110,6 +110,16 @@ void RequestHandler::HandleRequest(const http::request &current_request, http::r
util::json::render(current_reply.content, result.get<util::json::Object>()); util::json::render(current_reply.content, result.get<util::json::Object>());
} }
else if(result.is<flatbuffers::FlatBufferBuilder>())
{
auto& buffer = result.get<flatbuffers::FlatBufferBuilder>();
current_reply.content.resize(buffer.GetSize());
std::copy(buffer.GetBufferPointer(),
buffer.GetBufferPointer() + buffer.GetSize(),
current_reply.content.begin());
current_reply.headers.emplace_back("Content-Type", "application/x-flatbuffers;schema=osrm.engine.api.fbresult");
}
else else
{ {
BOOST_ASSERT(result.is<std::string>()); BOOST_ASSERT(result.is<std::string>());