From 823dc403a9b56e00be4982d0082d30b8df5e53d6 Mon Sep 17 00:00:00 2001 From: Joel Klinghed Date: Wed, 3 Jun 2015 00:08:30 +0200 Subject: Add CGI::get_data utility method --- src/cgi.cc | 6 ++++++ src/cgi.hh | 2 ++ 2 files changed, 8 insertions(+) (limited to 'src') diff --git a/src/cgi.cc b/src/cgi.cc index 5f86aac..b2467f3 100644 --- a/src/cgi.cc +++ b/src/cgi.cc @@ -173,6 +173,12 @@ private: } // namespace +void CGI::get_data(std::map* data) { + if (post_data(data)) return; + query_data(data); +} + + int CGI::run(std::function handle_request) { #if HAVE_FASTCGI if (!FCGX_IsCGI()) { diff --git a/src/cgi.hh b/src/cgi.hh index 5879694..1403719 100644 --- a/src/cgi.hh +++ b/src/cgi.hh @@ -24,6 +24,8 @@ public: // Return true if post data is multipart, false otherwise virtual bool post_data(std::map* data) = 0; virtual void query_data(std::map* data) = 0; + // Will first try post_data and fallback to query_data + void get_data(std::map* data); virtual std::string request_path() = 0; virtual request_type request_type() = 0; virtual std::string content_type() = 0; -- cgit v1.2.3-70-g09d2