11 enum struct Code : std::int64_t {
28 explicit constexpr Status(std::int64_t
const code) : m_code(
Code{code}), m_category(get_status_category(m_code)) {}
30 [[nodiscard]]
constexpr auto get_code() const ->
Code {
return m_code; }
34 [[nodiscard]]
constexpr auto is_error() const ->
bool {
38 explicit(
false)
constexpr operator Code()
const {
return get_code(); }
41 struct CategoryRange {
42 static constexpr std::int64_t range_v{100};
44 [[nodiscard]]
constexpr auto in_range(
Status::Code const in)
const ->
bool {
45 return in >= lo && in <
Status::Code(std::int64_t(lo) + range_v);
52 static constexpr auto category_ranges_v = std::array{
61 for (
auto const& range : category_ranges_v) {
62 if (range.in_range(status_code)) {
return range.category; }
Wrapper over a response status code.
Definition http_status.hpp:7
constexpr auto is_error() const -> bool
Definition http_status.hpp:34
constexpr auto get_code() const -> Code
Definition http_status.hpp:30
constexpr auto is_success() const -> bool
Definition http_status.hpp:33
constexpr Status(std::int64_t const code)
Definition http_status.hpp:28
Category
Category of Response status code.
Definition http_status.hpp:16
Code
Response Status Code.
Definition http_status.hpp:11
constexpr auto get_category() const -> Category
Definition http_status.hpp:31