ChatPlexSDK-BS 1.0.1-v6.2.0
C++ ChatPlex BeatSaber SDK
Loading...
Searching...
No Matches
IWebClient.hpp
1#pragma once
2
3#include "WebContent.hpp"
4#include "WebResponse.hpp"
5#include "../Utils/Delegate.hpp"
6
7#include <System/Threading/CancellationToken.hpp>
8
9#include <string>
10
11namespace CP_SDK::Network {
12
13 namespace _u
14 {
15 using namespace System::Threading;
16 }
17 namespace _v
18 {
19 using namespace CP_SDK::Utils;
20 }
21
24 {
25 CP_SDK_NO_COPYMOVE_CTORS(IWebClient);
26
27 protected:
29 IWebClient() = default;
30
31 public:
34 virtual std::u16string GetHeader(std::u16string_view p_Name) = 0;
38 virtual void SetHeader(std::u16string_view p_Name, std::u16string_view p_Value) = 0;
41 virtual void RemoveHeader(std::u16string_view p_Name) = 0;
42
43 public:
50 virtual void GetAsync(std::u16string_view p_URL, _u::CancellationToken p_Token, _v::CActionRef<WebResponse::Ptr> p_Callback, bool p_DontRetry = false, _v::CActionRef<float> p_Progress = nullptr) = 0;
57 virtual void DownloadAsync(std::u16string_view p_URL, _u::CancellationToken p_Token, _v::CActionRef<WebResponse::Ptr> p_Callback, bool p_DontRetry = false, _v::CActionRef<float> p_Progress = nullptr) = 0;
64 virtual void PostAsync(std::u16string_view p_URL, const WebContent::Ptr& p_Content, _u::CancellationToken p_Token, _v::CActionRef<WebResponse::Ptr> p_Callback, bool p_DontRetry = false) = 0;
71 virtual void PatchAsync(std::u16string_view p_URL, const WebContent::Ptr& p_Content, _u::CancellationToken p_Token, _v::CActionRef<WebResponse::Ptr> p_Callback, bool p_DontRetry = false) = 0;
77 virtual void DeleteAsync(std::u16string_view p_URL, _u::CancellationToken p_Token, _v::CActionRef<WebResponse::Ptr> p_Callback, bool p_DontRetry = false) = 0;
78
79 };
80
81}
Web Client interface.
IWebClient()=default
Constructor.
virtual void GetAsync(std::u16string_view p_URL, _u::CancellationToken p_Token, _v::CActionRef< WebResponse::Ptr > p_Callback, bool p_DontRetry=false, _v::CActionRef< float > p_Progress=nullptr)=0
Do Async GET query.
virtual void DownloadAsync(std::u16string_view p_URL, _u::CancellationToken p_Token, _v::CActionRef< WebResponse::Ptr > p_Callback, bool p_DontRetry=false, _v::CActionRef< float > p_Progress=nullptr)=0
Do Async GET query.
virtual std::u16string GetHeader(std::u16string_view p_Name)=0
Get header.
virtual void PostAsync(std::u16string_view p_URL, const WebContent::Ptr &p_Content, _u::CancellationToken p_Token, _v::CActionRef< WebResponse::Ptr > p_Callback, bool p_DontRetry=false)=0
Do Async POST query.
virtual void PatchAsync(std::u16string_view p_URL, const WebContent::Ptr &p_Content, _u::CancellationToken p_Token, _v::CActionRef< WebResponse::Ptr > p_Callback, bool p_DontRetry=false)=0
Do Async PATCH query.
virtual void DeleteAsync(std::u16string_view p_URL, _u::CancellationToken p_Token, _v::CActionRef< WebResponse::Ptr > p_Callback, bool p_DontRetry=false)=0
Do Async DELETE query.
virtual void RemoveHeader(std::u16string_view p_Name)=0
Remove header.
virtual void SetHeader(std::u16string_view p_Name, std::u16string_view p_Value)=0
Set header.
Network and HTTP utilities.
Various platform utils like Delegate/Action/Function/Event system.
Definition Delegate.hpp:8