| 42 | }; |
| 43 | |
| 44 | class BuilderWriteBufferFromHTTP |
| 45 | { |
| 46 | private: |
| 47 | Poco::URI uri; |
| 48 | HTTPConnectionGroupType connection_group{}; |
| 49 | std::string method = Poco::Net::HTTPRequest::HTTP_POST; // POST or PUT only |
| 50 | bool bypass_proxy = false; |
| 51 | std::string content_type; |
| 52 | std::string content_encoding; |
| 53 | HTTPHeaderEntries additional_headers = {}; |
| 54 | ConnectionTimeouts timeouts = {}; |
| 55 | size_t buffer_size_ = DBMS_DEFAULT_BUFFER_SIZE; |
| 56 | |
| 57 | public: |
| 58 | explicit BuilderWriteBufferFromHTTP(const Poco::URI & uri_) : uri(uri_) |
| 59 | { |
| 60 | } |
| 61 | |
| 62 | /// NOLINTBEGIN(bugprone-macro-parentheses) |
| 63 | #define setterMember(name, member) \ |
| 64 | BuilderWriteBufferFromHTTP & name(decltype(BuilderWriteBufferFromHTTP::member) arg_##member) \ |
| 65 | { \ |
| 66 | member = std::move(arg_##member); \ |
| 67 | return *this; \ |
| 68 | } |
| 69 | |
| 70 | setterMember(withConnectionGroup, connection_group) |
| 71 | setterMember(withMethod, method) |
| 72 | setterMember(withBypassProxy, bypass_proxy) |
| 73 | setterMember(withContentType, content_type) |
| 74 | setterMember(withContentEncoding, content_encoding) |
| 75 | setterMember(withAdditionalHeaders, additional_headers) |
| 76 | setterMember(withTimeouts, timeouts) |
| 77 | setterMember(withBufferSize, buffer_size_) |
| 78 | #undef setterMember |
| 79 | /// NOLINTEND(bugprone-macro-parentheses) |
| 80 | |
| 81 | std::unique_ptr<WriteBufferFromHTTP> create(); |
| 82 | }; |
| 83 | |
| 84 | } |
no outgoing calls
no test coverage detected