LeviLamina
Loading...
Searching...
No Matches
IRequestBody.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5namespace Bedrock::Http::Internal {
6
7class IRequestBody : public ::std::enable_shared_from_this<::Bedrock::Http::Internal::IRequestBody> {
8public:
9 // IRequestBody inner types declare
10 // clang-format off
11 struct ReadResult;
12 // clang-format on
13
14 // IRequestBody inner types define
15 struct ReadResult {
16 public:
17 // member variables
18 // NOLINTBEGIN
21 // NOLINTEND
22
23 public:
24 // prevent constructor by default
25 ReadResult& operator=(ReadResult const&);
26 ReadResult(ReadResult const&);
27 ReadResult();
28 };
29
30public:
31 // virtual functions
32 // NOLINTBEGIN
33 virtual ~IRequestBody() = default;
34
35 virtual ::Bedrock::Http::Internal::IRequestBody::ReadResult read(::gsl::span<uchar> destination) = 0;
36
37 virtual uint64 getSize() = 0;
38
39 virtual void cancel() = 0;
40
41 virtual ::std::string const& getLoggableSource() const = 0;
42
43 virtual ::gsl::span<uchar const> getLoggableData() const = 0;
44 // NOLINTEND
45
46public:
47 // virtual function thunks
48 // NOLINTBEGIN
49
50 // NOLINTEND
51};
52
53} // namespace Bedrock::Http::Internal
Definition IRequestBody.h:7
Definition Alias.h:14