aboutsummaryrefslogtreecommitdiff
path: root/contrib/epee/include/net/http_client_abstract_invoke.h
diff options
context:
space:
mode:
authorLee Clagett <code@leeclagett.com>2017-01-25 00:16:05 -0500
committerLee Clagett <code@leeclagett.com>2017-01-25 15:39:32 -0500
commitc02e1cb943903d34becfaf1c6d9cd71e4424d748 (patch)
treea363ce155ba8f6b14a924c84380ec2886894f22d /contrib/epee/include/net/http_client_abstract_invoke.h
parentMerge pull request #1622 (diff)
downloadmonero-c02e1cb943903d34becfaf1c6d9cd71e4424d748.tar.xz
Updates to epee HTTP client code
- http_simple_client now uses std::chrono for timeouts - http_simple_client accepts timeouts per connect / invoke call - shortened names of epee http invoke functions - invoke command functions only take relative path, connection is not automatically performed
Diffstat (limited to 'contrib/epee/include/net/http_client_abstract_invoke.h')
-rw-r--r--contrib/epee/include/net/http_client_abstract_invoke.h101
1 files changed, 0 insertions, 101 deletions
diff --git a/contrib/epee/include/net/http_client_abstract_invoke.h b/contrib/epee/include/net/http_client_abstract_invoke.h
deleted file mode 100644
index 9b6ab4db8..000000000
--- a/contrib/epee/include/net/http_client_abstract_invoke.h
+++ /dev/null
@@ -1,101 +0,0 @@
-
-// Copyright (c) 2006-2013, Andrey N. Sabelnikov, www.sabelnikov.net
-// All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above copyright
-// notice, this list of conditions and the following disclaimer in the
-// documentation and/or other materials provided with the distribution.
-// * Neither the name of the Andrey N. Sabelnikov nor the
-// names of its contributors may be used to endorse or promote products
-// derived from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER BE LIABLE FOR ANY
-// DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-//
-
-#pragma once
-#include "storages/serializeble_struct_helper.h"
-
-#undef MONERO_DEFAULT_LOG_CATEGORY
-#define MONERO_DEFAULT_LOG_CATEGORY "net.http"
-
-namespace epee
-{
- namespace net_utils
- {
- namespace http
- {
- template<class TArg, class TResult, class TTransport>
- bool invoke_http_json_remote_command(const std::string& url, TArg& out_struct, TResult& result_struct, TTransport& transport, unsigned int timeout = 5000, const std::string& method = "GET")
- {
- std::string req_param;
- StorageNamed::InMemStorageSpace::json::store_t_to_json(out_struct, req_param);
-
- const http_response_info* pri = NULL;
- if(!invoke_request(url, transport, timeout, &pri, method, req_param))
- {
- LOG_PRINT_L1("Failed to invoke http request to " << url);
- return false;
- }
-
- if(!pri->m_response_code)
- {
- LOG_PRINT_L1("Failed to invoke http request to " << url << ", internal error (null response ptr)");
- return false;
- }
-
- if(pri->m_response_code != 200)
- {
- LOG_PRINT_L1("Failed to invoke http request to " << url << ", wrong response code: " << pri->m_response_code);
- return false;
- }
-
- return StorageNamed::InMemStorageSpace::json::load_t_from_json(result_struct, pri->m_body);
- }
-
-
-
- template<class TArg, class TResult, class TTransport>
- bool invoke_http_bin_remote_command(const std::string& url, TArg& out_struct, TResult& result_struct, TTransport& transport, unsigned int timeout = 5000, const std::string& method = "GET")
- {
- std::string req_param;
- epee::StorageNamed::save_struct_as_storage_to_buff(out_struct, req_param);
-
- const http_response_info* pri = NULL;
- if(!invoke_request(url, transport, timeout, &pri, method, req_param))
- {
- LOG_PRINT_L1("Failed to invoke http request to " << url);
- return false;
- }
-
- if(!pri->m_response_code)
- {
- LOG_PRINT_L1("Failed to invoke http request to " << url << ", internal error (null response ptr)");
- return false;
- }
-
- if(pri->m_response_code != 200)
- {
- LOG_PRINT_L1("Failed to invoke http request to " << url << ", wrong response code: " << pri->m_response_code);
- return false;
- }
-
- return epee::StorageNamed::load_struct_from_storage_buff(result_struct, pri->m_body);
- }
-
-
- }
- }
-}