Fix syntax error position indicators in parameters queries
To fix #2193 prefix_length member variable has been added to ParsedURL that is set to the length of "/service/version/profile/" prefix when the prefix is accepted by the parser. Also BOOST_FUSION_ADAPT_STRUCT for osrm::server::api::ParsedURL has been moved from header to url_parser.cpp to speed up compilation of CUs that do not use the fusion adaption.
This commit is contained in:
@@ -15,7 +15,7 @@ namespace server
|
||||
namespace service
|
||||
{
|
||||
|
||||
engine::Status TileService::RunQuery(std::string &query, ResultT &result)
|
||||
engine::Status TileService::RunQuery(std::size_t prefix_length, std::string &query, ResultT &result)
|
||||
{
|
||||
auto query_iterator = query.begin();
|
||||
auto parameters =
|
||||
@@ -27,7 +27,7 @@ engine::Status TileService::RunQuery(std::string &query, ResultT &result)
|
||||
auto &json_result = result.get<util::json::Object>();
|
||||
json_result.values["code"] = "InvalidQuery";
|
||||
json_result.values["message"] =
|
||||
"Query string malformed close to position " + std::to_string(position);
|
||||
"Query string malformed close to position " + std::to_string(prefix_length + position);
|
||||
return engine::Status::Error;
|
||||
}
|
||||
BOOST_ASSERT(parameters);
|
||||
|
||||
Reference in New Issue
Block a user