fix?
[Praktika/Routenplanung/MapServer.git] / MapServer / QueryStringParser.h
1 #pragma once
2
3 #include <string>
4 #include <cstring>
5
6 #include "mongoose/mongoose.h"
7
8 #include "../Helpers/String/String.h"
9
10 namespace MapServer {
11
12 class QueryStringParser {
13
14 public:
15     QueryStringParser(const mg_request_info *ri) : requestInfo(ri) {}
16
17     template<typename T>
18     inline T getValue(const std::string key, const T defaultValue = T()) {
19         int length = mg_get_var(requestInfo->query_string, strlen(requestInfo->query_string), key.c_str(), valueBuffer, sizeof(valueBuffer));
20         if (length == -1) return defaultValue;
21         std::string value(valueBuffer);
22         return String::lexicalCast<T>(value);
23     }
24
25 private:
26     const mg_request_info *requestInfo;
27     char valueBuffer[1024];
28
29 };
30
31 }