Mercurial > hg > orthanc
diff Core/HttpServer/MongooseServer.cpp @ 1363:feaf2840917c
Plugins now receive duplicated GET arguments in their REST callbacks
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Wed, 20 May 2015 15:21:26 +0200 |
parents | 6e7e5ed91c2d |
children | ad94a3583b07 |
line wrap: on
line diff
--- a/Core/HttpServer/MongooseServer.cpp Fri May 15 17:33:43 2015 +0200 +++ b/Core/HttpServer/MongooseServer.cpp Wed May 20 15:21:26 2015 +0200 @@ -466,7 +466,7 @@ static bool ExtractMethod(HttpMethod& method, const struct mg_request_info *request, const HttpHandler::Arguments& headers, - const HttpHandler::Arguments& argumentsGET) + const HttpHandler::GetArguments& argumentsGET) { std::string overriden; @@ -484,10 +484,13 @@ { // 2. Faking with Ruby on Rail's approach // GET /my/resource?_method=delete <=> DELETE /my/resource - methodOverride = argumentsGET.find("_method"); - if (methodOverride != argumentsGET.end()) + for (size_t i = 0; i < argumentsGET.size(); i++) { - overriden = methodOverride->second; + if (argumentsGET[i].first == "_method") + { + overriden = argumentsGET[i].second; + break; + } } } @@ -567,7 +570,7 @@ // Extract the GET arguments - HttpHandler::Arguments argumentsGET; + HttpHandler::GetArguments argumentsGET; if (!strcmp(request->request_method, "GET")) { HttpHandler::ParseGetArguments(argumentsGET, request->query_string);