Added flatbuffers output support to the 'Trip' service.

This commit is contained in:
Denis Chaplygin
2019-08-08 17:21:37 +03:00
parent 13287d9970
commit b7e9e5f2c0
5 changed files with 108 additions and 40 deletions
+1 -2
View File
@@ -146,7 +146,6 @@ Status TripPlugin::HandleRequest(const RoutingAlgorithmsInterface &algorithms,
const api::TripParameters &parameters,
osrm::engine::api::ResultT &result) const
{
auto& json_result = result.get<util::json::Object>();
if (!algorithms.HasShortestPathSearch())
{
return Error("NotImplemented",
@@ -276,7 +275,7 @@ Status TripPlugin::HandleRequest(const RoutingAlgorithmsInterface &algorithms,
const std::vector<std::vector<NodeID>> trips = {duration_trip};
const std::vector<InternalRouteResult> routes = {route};
api::TripAPI trip_api{facade, parameters};
trip_api.MakeResponse(trips, routes, snapped_phantoms, json_result);
trip_api.MakeResponse(trips, routes, snapped_phantoms, result);
return Status::Ok;
}
+6
View File
@@ -69,6 +69,12 @@ engine::Status TripService::RunQuery(std::size_t prefix_length, std::string &que
}
BOOST_ASSERT(parameters->IsValid());
if (parameters->format)
{
if (parameters->format == engine::api::BaseParameters::OutputFormatType::FLATBUFFERS) {
result = flatbuffers::FlatBufferBuilder();
}
}
return BaseService::routing_machine.Trip(*parameters, result);
}
}