]> git.ipfire.org Git - thirdparty/pdns.git/blobdiff - pdns/json.hh
dnsdist: Add HTTPStatusAction to return a specific HTTP response
[thirdparty/pdns.git] / pdns / json.hh
index 17021b850532776a315c20bd9ee5306b78358352..69deb48faf68d7a8ae10fea1b10c6aa9ed937e2f 100644 (file)
@@ -1,38 +1,37 @@
 /*
-    PowerDNS Versatile Database Driven Nameserver
-    Copyright (C) 2002-2012  PowerDNS.COM BV
-
   This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License version 2
-    as published by the Free Software Foundation
-
-    Additionally, the license of this program contains a special
-    exception which allows to distribute the program in binary form when
   it is linked against OpenSSL.
-
   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.
-
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
-    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-*/
+ * This file is part of PowerDNS or dnsdist.
+ * Copyright -- PowerDNS.COM B.V. and its contributors
+ *
* This program is free software; you can redistribute it and/or modify
+ * it under the terms of version 2 of the GNU General Public License as
+ * published by the Free Software Foundation.
+ *
+ * In addition, for the avoidance of any doubt, permission is granted to
+ * link this program with OpenSSL and to (re)distribute the binaries
* produced as the result of such linking.
+ *
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
* GNU General Public License for more details.
+ *
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
 #pragma once // it is 2012, deal with it
 
 #include <string>
-#include <map>
 #include <stdexcept>
-#include "rapidjson/document.h"
+#include "json11.hpp"
 
-std::string returnJsonObject(const std::map<std::string, std::string>& items);
-std::string returnJsonError(const std::string& error);
-std::string makeStringFromDocument(const rapidjson::Document& doc);
-int intFromJson(const rapidjson::Value& container, const char* key);
-int intFromJson(const rapidjson::Value& container, const char* key, const int default_value);
-std::string stringFromJson(const rapidjson::Value& container, const char* key);
-std::string stringFromJson(const rapidjson::Value& container, const char* key, const std::string& default_value);
+int intFromJson(const json11::Json container, const std::string& key);
+int intFromJson(const json11::Json container, const std::string& key, const int default_value);
+double doubleFromJson(const json11::Json container, const std::string& key);
+double doubleFromJson(const json11::Json container, const std::string& key, const double default_value);
+std::string stringFromJson(const json11::Json container, const std::string &key);
+bool boolFromJson(const json11::Json container, const std::string& key);
+bool boolFromJson(const json11::Json container, const std::string& key, const bool default_value);
 
 class JsonException : public std::runtime_error
 {