Network: Add WebService
This commit is contained in:
committed by
Jérôme Leclercq
parent
b5206ebdb7
commit
c65daba072
47
include/Nazara/Network/WebRequest.inl
Normal file
47
include/Nazara/Network/WebRequest.inl
Normal file
@@ -0,0 +1,47 @@
|
||||
// Copyright (C) 2023 Jérôme "Lynix" Leclercq (lynix680@gmail.com)
|
||||
// This file is part of the "Nazara Engine - Network module"
|
||||
// For conditions of distribution and use, see copyright notice in Config.hpp
|
||||
|
||||
#include <Nazara/Network/Debug.hpp>
|
||||
|
||||
namespace Nz
|
||||
{
|
||||
inline void WebRequest::SetDataCallback(DataCallback callback)
|
||||
{
|
||||
m_dataCallback = std::move(callback);
|
||||
}
|
||||
|
||||
inline void WebRequest::SetResultCallback(ResultCallback callback)
|
||||
{
|
||||
m_resultCallback = std::move(callback);
|
||||
}
|
||||
|
||||
inline void WebRequest::SetHeader(std::string header, std::string value)
|
||||
{
|
||||
m_headers.insert_or_assign(std::move(header), std::move(value));
|
||||
}
|
||||
|
||||
inline bool WebRequest::OnBodyResponse(const char* data, std::size_t length)
|
||||
{
|
||||
if (!m_dataCallback)
|
||||
{
|
||||
m_responseBody.append(data, length);
|
||||
return true;
|
||||
}
|
||||
|
||||
return m_dataCallback(data, length);
|
||||
}
|
||||
|
||||
inline void WebRequest::TriggerCallback()
|
||||
{
|
||||
m_resultCallback(WebRequestResult(m_webService, m_curlHandle.Get(), std::move(m_responseBody)));
|
||||
m_responseBody.clear();
|
||||
}
|
||||
|
||||
inline void WebRequest::TriggerCallback(std::string errorMessage)
|
||||
{
|
||||
m_resultCallback(WebRequestResult(m_webService, std::move(errorMessage)));
|
||||
}
|
||||
}
|
||||
|
||||
#include <Nazara/Network/DebugOff.hpp>
|
||||
Reference in New Issue
Block a user