diff options
Diffstat (limited to 'common')
-rw-r--r-- | common/Authorization.cpp | 14 | ||||
-rw-r--r-- | common/Authorization.hpp | 18 |
2 files changed, 20 insertions, 12 deletions
diff --git a/common/Authorization.cpp b/common/Authorization.cpp index 5e48b01b24..c1a20d5fb8 100644 --- a/common/Authorization.cpp +++ b/common/Authorization.cpp @@ -8,13 +8,11 @@ #include <config.h> #include "Authorization.hpp" -#include "Protocol.hpp" #include "Log.hpp" -#include <Exceptions.hpp> +#include "Util.hpp" -#include <cstdlib> -#include <cassert> -#include <regex> +#include <Poco/Net/HTTPRequest.h> +#include <Poco/URI.h> void Authorization::authorizeURI(Poco::URI& uri) const { @@ -86,11 +84,11 @@ void Authorization::authorizeRequest(Poco::Net::HTTPRequest& request) const } } -Authorization Authorization::create(const Poco::URI::QueryParameters& queryParams) +Authorization Authorization::create(const Poco::URI& uri) { // prefer the access_token std::string decoded; - for (const auto& param : queryParams) + for (const auto& param : uri.getQueryParameters()) { if (param.first == "access_token") { @@ -108,4 +106,6 @@ Authorization Authorization::create(const Poco::URI::QueryParameters& queryParam return Authorization(); } +Authorization Authorization::create(const std::string& uri) { return create(Poco::URI(uri)); } + /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/common/Authorization.hpp b/common/Authorization.hpp index 35b80285e5..d62de9e52b 100644 --- a/common/Authorization.hpp +++ b/common/Authorization.hpp @@ -10,9 +10,18 @@ #pragma once #include <string> +#include <vector> -#include <Poco/Net/HTTPRequest.h> -#include <Poco/URI.h> +namespace Poco +{ +namespace Net +{ +class HTTPRequest; +} + +class URI; + +} // namespace Poco /// Class to keep the authorization data, which can be either access_token or access_header. class Authorization @@ -43,9 +52,8 @@ public: /// Create an Authorization instance from the URI query parameters. /// Expects access_token (preferred) or access_header. - static Authorization create(const Poco::URI::QueryParameters& queryParams); - static Authorization create(const Poco::URI& uri) { return create(uri.getQueryParameters()); } - static Authorization create(const std::string& uri) { return create(Poco::URI(uri)); } + static Authorization create(const Poco::URI& uri); + static Authorization create(const std::string& uri); /// Set the access_token parametr to the given uri. void authorizeURI(Poco::URI& uri) const; |