| 23 | } |
| 24 | |
| 25 | engine::Status ServiceHandler::RunQuery(api::ParsedURL parsed_url, |
| 26 | osrm::engine::api::ResultT &result) |
| 27 | { |
| 28 | const auto &service_iter = service_map.find(parsed_url.service); |
| 29 | if (service_iter == service_map.end()) |
| 30 | { |
| 31 | result = util::json::Object(); |
| 32 | auto &json_result = std::get<util::json::Object>(result); |
| 33 | json_result.values["code"] = "InvalidService"; |
| 34 | json_result.values["message"] = "Service " + parsed_url.service + " not found!"; |
| 35 | return engine::Status::Error; |
| 36 | } |
| 37 | auto &service = service_iter->second; |
| 38 | |
| 39 | if (service->GetVersion() != parsed_url.version) |
| 40 | { |
| 41 | result = util::json::Object(); |
| 42 | auto &json_result = std::get<util::json::Object>(result); |
| 43 | json_result.values["code"] = "InvalidVersion"; |
| 44 | json_result.values["message"] = "Service " + parsed_url.service + " not found!"; |
| 45 | return engine::Status::Error; |
| 46 | } |
| 47 | |
| 48 | return service->RunQuery(parsed_url.prefix_length, parsed_url.query, result); |
| 49 | } |
| 50 | } // namespace osrm::server |
no test coverage detected