C++ Client-Side SDK
LaunchDarkly SDK
Loading...
Searching...
No Matches
endpoints_builder.hpp
1#pragma once
2
3#include <launchdarkly/config/shared/built/service_endpoints.hpp>
4#include <launchdarkly/error.hpp>
5
6#include "tl/expected.hpp"
7
8#include <memory>
9#include <optional>
10#include <string>
11
12namespace launchdarkly::config::shared::builders {
13
14template <typename SDK>
15class EndpointsBuilder;
16
17template <typename SDK>
18bool operator==(EndpointsBuilder<SDK> const& lhs,
19 EndpointsBuilder<SDK> const& rhs);
20
27template <typename SDK>
29 public:
30 friend bool operator==<SDK>(EndpointsBuilder<SDK> const& lhs,
31 EndpointsBuilder<SDK> const& rhs);
35 EndpointsBuilder() = default;
36
42 EndpointsBuilder& PollingBaseUrl(std::string url);
43
49 EndpointsBuilder& StreamingBaseUrl(std::string url);
50
56 EndpointsBuilder& EventsBaseUrl(std::string url);
57
64 EndpointsBuilder& RelayProxyBaseURL(std::string const& url);
65
72 [[nodiscard]] tl::expected<built::ServiceEndpoints, Error> Build() const;
73
74 private:
75 std::optional<std::string> polling_base_url_;
76 std::optional<std::string> streaming_base_url_;
77 std::optional<std::string> events_base_url_;
78};
79
80} // namespace launchdarkly::config::shared::builders
EndpointsBuilder & StreamingBaseUrl(std::string url)
Definition endpoints_builder.cpp:14
EndpointsBuilder & EventsBaseUrl(std::string url)
Definition endpoints_builder.cpp:20
tl::expected< built::ServiceEndpoints, Error > Build() const
Definition endpoints_builder.cpp:46
EndpointsBuilder & PollingBaseUrl(std::string url)
Definition endpoints_builder.cpp:9
EndpointsBuilder & RelayProxyBaseURL(std::string const &url)
Definition endpoints_builder.cpp:26