mirror of https://github.com/OpenTTD/OpenTTD
Codechange: use std::string view for URI and std::move for data
parent
d1a7d30572
commit
a5812a45f8
|
@ -55,7 +55,7 @@ public:
|
|||
* @param callback the callback to send data back on.
|
||||
* @param data the data we want to send. When non-empty, this will be a POST request, otherwise a GET request.
|
||||
*/
|
||||
static void Connect(const std::string &uri, HTTPCallback *callback, const std::string data = "");
|
||||
static void Connect(std::string_view uri, HTTPCallback *callback, std::string &&data = "");
|
||||
|
||||
/**
|
||||
* Do the receiving for all HTTP connections.
|
||||
|
|
|
@ -60,10 +60,10 @@ public:
|
|||
* @param callback the callback to send data back on.
|
||||
* @param data the data we want to send. When non-empty, this will be a POST request, otherwise a GET request.
|
||||
*/
|
||||
NetworkHTTPRequest(const std::string &uri, HTTPCallback *callback, const std::string &data) :
|
||||
NetworkHTTPRequest(std::string_view uri, HTTPCallback *callback, std::string &&data) :
|
||||
uri(uri),
|
||||
callback(callback),
|
||||
data(data)
|
||||
data(std::move(data))
|
||||
{
|
||||
std::lock_guard<std::mutex> lock(_new_http_callback_mutex);
|
||||
_new_http_callbacks.push_back(&this->callback);
|
||||
|
@ -90,7 +90,7 @@ static std::string _http_ca_file = "";
|
|||
static std::string _http_ca_path = "";
|
||||
#endif /* UNIX */
|
||||
|
||||
/* static */ void NetworkHTTPSocketHandler::Connect(const std::string &uri, HTTPCallback *callback, const std::string data)
|
||||
/* static */ void NetworkHTTPSocketHandler::Connect(std::string_view uri, HTTPCallback *callback, std::string &&data)
|
||||
{
|
||||
#if defined(UNIX)
|
||||
if (_http_ca_file.empty() && _http_ca_path.empty()) {
|
||||
|
@ -100,7 +100,7 @@ static std::string _http_ca_path = "";
|
|||
#endif /* UNIX */
|
||||
|
||||
std::lock_guard<std::mutex> lock(_http_mutex);
|
||||
_http_requests.push(std::make_unique<NetworkHTTPRequest>(uri, callback, data));
|
||||
_http_requests.push(std::make_unique<NetworkHTTPRequest>(uri, callback, std::move(data)));
|
||||
_http_cv.notify_one();
|
||||
}
|
||||
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
|
||||
#include "../../safeguards.h"
|
||||
|
||||
/* static */ void NetworkHTTPSocketHandler::Connect(const std::string &, HTTPCallback *callback, const std::string)
|
||||
/* static */ void NetworkHTTPSocketHandler::Connect(std::string_view, HTTPCallback *callback, std::string&&)
|
||||
{
|
||||
/* No valid HTTP backend was compiled in, so we fail all HTTP requests. */
|
||||
callback->OnFailure();
|
||||
|
|
|
@ -37,7 +37,7 @@ private:
|
|||
int depth = 0; ///< Current redirect depth we are in.
|
||||
|
||||
public:
|
||||
NetworkHTTPRequest(const std::wstring &uri, HTTPCallback *callback, const std::string &data);
|
||||
NetworkHTTPRequest(std::wstring &&uri, HTTPCallback *callback, std::string &&data);
|
||||
|
||||
~NetworkHTTPRequest();
|
||||
|
||||
|
@ -62,10 +62,10 @@ static std::mutex _new_http_callback_mutex;
|
|||
* @param callback the callback to send data back on.
|
||||
* @param data the data we want to send. When non-empty, this will be a POST request, otherwise a GET request.
|
||||
*/
|
||||
NetworkHTTPRequest::NetworkHTTPRequest(const std::wstring &uri, HTTPCallback *callback, const std::string &data) :
|
||||
uri(uri),
|
||||
NetworkHTTPRequest::NetworkHTTPRequest(std::wstring &&uri, HTTPCallback *callback, std::string &&data) :
|
||||
uri(std::move(uri)),
|
||||
callback(callback),
|
||||
data(data)
|
||||
data(std::move(data))
|
||||
{
|
||||
std::lock_guard<std::mutex> lock(_new_http_callback_mutex);
|
||||
_new_http_callbacks.push_back(&this->callback);
|
||||
|
@ -291,9 +291,9 @@ NetworkHTTPRequest::~NetworkHTTPRequest()
|
|||
_http_callbacks.erase(std::remove(_http_callbacks.begin(), _http_callbacks.end(), &this->callback), _http_callbacks.end());
|
||||
}
|
||||
|
||||
/* static */ void NetworkHTTPSocketHandler::Connect(const std::string &uri, HTTPCallback *callback, const std::string data)
|
||||
/* static */ void NetworkHTTPSocketHandler::Connect(std::string_view uri, HTTPCallback *callback, std::string &&data)
|
||||
{
|
||||
auto request = new NetworkHTTPRequest(std::wstring(uri.begin(), uri.end()), callback, data);
|
||||
auto request = new NetworkHTTPRequest(std::wstring(uri.begin(), uri.end()), callback, std::move(data));
|
||||
request->Connect();
|
||||
|
||||
std::lock_guard<std::mutex> lock(_new_http_requests_mutex);
|
||||
|
|
Loading…
Reference in New Issue