123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- #pragma once
- #include "CoreMinimal.h"
- class WEBBROWSERUI_API IWebInterfaceBrowserSchemeHandler
- {
- public:
-
- class IHeaders
- {
- public:
-
- virtual void SetMimeType(const TCHAR* MimeType) = 0;
-
- virtual void SetStatusCode(int32 StatusCode) = 0;
-
- virtual void SetContentLength(int32 ContentLength) = 0;
-
- virtual void SetRedirect(const TCHAR* Url) = 0;
-
- virtual void SetHeader(const TCHAR* Key, const TCHAR* Value) = 0;
- };
- public:
- virtual ~IWebInterfaceBrowserSchemeHandler() {}
-
- virtual bool ProcessRequest(const FString& Verb, const FString& Url, const FSimpleDelegate& OnHeadersReady) = 0;
-
- virtual void GetResponseHeaders(IHeaders& OutHeaders) = 0;
-
- virtual bool ReadResponse(uint8* OutBytes, int32 BytesToRead, int32& BytesRead, const FSimpleDelegate& OnMoreDataReady) = 0;
-
- virtual void Cancel() = 0;
- };
- class WEBBROWSERUI_API IWebInterfaceBrowserSchemeHandlerFactory
- {
- public:
- virtual ~IWebInterfaceBrowserSchemeHandlerFactory() {}
-
- virtual TUniquePtr<IWebInterfaceBrowserSchemeHandler> Create(FString Verb, FString Url) = 0;
- };
|