diff Core/HttpServer/HttpHandler.h @ 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 02f5a3f5c0a0
line wrap: on
line diff
--- a/Core/HttpServer/HttpHandler.h	Fri May 15 17:33:43 2015 +0200
+++ b/Core/HttpServer/HttpHandler.h	Wed May 20 15:21:26 2015 +0200
@@ -44,7 +44,8 @@
   class HttpHandler
   {
   public:
-    typedef std::map<std::string, std::string> Arguments;
+    typedef std::map<std::string, std::string>                  Arguments;
+    typedef std::vector< std::pair<std::string, std::string> >  GetArguments;
 
     virtual ~HttpHandler()
     {
@@ -54,21 +55,28 @@
                         HttpMethod method,
                         const UriComponents& uri,
                         const Arguments& headers,
-                        const Arguments& getArguments,
+                        const GetArguments& getArguments,
                         const std::string& postData) = 0;
 
-    static void ParseGetArguments(HttpHandler::Arguments& result, 
+    static void ParseGetArguments(HttpHandler::GetArguments& result, 
                                   const char* query);
 
     static void ParseGetQuery(UriComponents& uri,
-                              HttpHandler::Arguments& getArguments, 
+                              HttpHandler::GetArguments& getArguments, 
                               const char* query);
 
     static std::string GetArgument(const Arguments& getArguments,
                                    const std::string& name,
                                    const std::string& defaultValue);
 
+    static std::string GetArgument(const GetArguments& getArguments,
+                                   const std::string& name,
+                                   const std::string& defaultValue);
+
     static void ParseCookies(HttpHandler::Arguments& result, 
                              const HttpHandler::Arguments& httpHeaders);
+
+    static void CompileGetArguments(Arguments& compiled,
+                                    const GetArguments& source);
   };
 }