mirror of
https://github.com/boostorg/beast.git
synced 2025-07-30 12:57:31 +02:00
Add non-allocating overload for error category message function
Fixes #2646
This commit is contained in:
committed by
Mohammad Nejati
parent
5998feda44
commit
9e16754dd5
@ -29,8 +29,8 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
BOOST_BEAST_DECL
|
BOOST_BEAST_DECL
|
||||||
std::string
|
char const*
|
||||||
message(int ev) const override
|
message(int ev, char*, std::size_t) const noexcept override
|
||||||
{
|
{
|
||||||
switch(static_cast<error>(ev))
|
switch(static_cast<error>(ev))
|
||||||
{
|
{
|
||||||
@ -40,6 +40,13 @@ public:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
BOOST_BEAST_DECL
|
||||||
|
std::string
|
||||||
|
message(int ev) const override
|
||||||
|
{
|
||||||
|
return message(ev, nullptr, 0);
|
||||||
|
}
|
||||||
|
|
||||||
BOOST_BEAST_DECL
|
BOOST_BEAST_DECL
|
||||||
error_condition
|
error_condition
|
||||||
default_error_condition(int ev) const noexcept override
|
default_error_condition(int ev) const noexcept override
|
||||||
|
@ -28,10 +28,9 @@ public:
|
|||||||
|
|
||||||
error_codes() : error_category(0x002f6e94401c6e8bu) {}
|
error_codes() : error_category(0x002f6e94401c6e8bu) {}
|
||||||
|
|
||||||
|
|
||||||
BOOST_BEAST_DECL
|
BOOST_BEAST_DECL
|
||||||
std::string
|
char const*
|
||||||
message(int ev) const override
|
message(int ev, char*, std::size_t) const noexcept override
|
||||||
{
|
{
|
||||||
switch(static_cast<error>(ev))
|
switch(static_cast<error>(ev))
|
||||||
{
|
{
|
||||||
@ -41,6 +40,13 @@ public:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
BOOST_BEAST_DECL
|
||||||
|
std::string
|
||||||
|
message(int ev) const override
|
||||||
|
{
|
||||||
|
return message(ev, nullptr, 0);
|
||||||
|
}
|
||||||
|
|
||||||
BOOST_BEAST_DECL
|
BOOST_BEAST_DECL
|
||||||
error_condition
|
error_condition
|
||||||
default_error_condition(int ev) const noexcept override
|
default_error_condition(int ev) const noexcept override
|
||||||
@ -67,10 +73,9 @@ public:
|
|||||||
|
|
||||||
error_conditions() : error_category(0x3dd0b0ce843c5b10u) {}
|
error_conditions() : error_category(0x3dd0b0ce843c5b10u) {}
|
||||||
|
|
||||||
|
|
||||||
BOOST_BEAST_DECL
|
BOOST_BEAST_DECL
|
||||||
std::string
|
char const*
|
||||||
message(int cv) const override
|
message(int cv, char*, std::size_t) const noexcept override
|
||||||
{
|
{
|
||||||
switch(static_cast<condition>(cv))
|
switch(static_cast<condition>(cv))
|
||||||
{
|
{
|
||||||
@ -79,6 +84,13 @@ public:
|
|||||||
return "The operation timed out";
|
return "The operation timed out";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
BOOST_BEAST_DECL
|
||||||
|
std::string
|
||||||
|
message(int cv) const override
|
||||||
|
{
|
||||||
|
return message(cv, nullptr, 0);
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
} // detail
|
} // detail
|
||||||
|
@ -29,8 +29,9 @@ public:
|
|||||||
|
|
||||||
http_error_category() : error_category(0x964627da815bf210u) {}
|
http_error_category() : error_category(0x964627da815bf210u) {}
|
||||||
|
|
||||||
std::string
|
BOOST_BEAST_DECL
|
||||||
message(int ev) const override
|
char const*
|
||||||
|
message(int ev, char*, std::size_t) const noexcept override
|
||||||
{
|
{
|
||||||
switch(static_cast<error>(ev))
|
switch(static_cast<error>(ev))
|
||||||
{
|
{
|
||||||
@ -66,6 +67,12 @@ public:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::string
|
||||||
|
message(int ev) const override
|
||||||
|
{
|
||||||
|
return message(ev, nullptr, 0);
|
||||||
|
}
|
||||||
|
|
||||||
error_condition
|
error_condition
|
||||||
default_error_condition(
|
default_error_condition(
|
||||||
int ev) const noexcept override
|
int ev) const noexcept override
|
||||||
|
@ -29,8 +29,9 @@ public:
|
|||||||
return "boost.beast.websocket";
|
return "boost.beast.websocket";
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string
|
BOOST_BEAST_DECL
|
||||||
message(int ev) const override
|
char const*
|
||||||
|
message(int ev, char*, std::size_t) const noexcept override
|
||||||
{
|
{
|
||||||
switch(static_cast<error>(ev))
|
switch(static_cast<error>(ev))
|
||||||
{
|
{
|
||||||
@ -71,6 +72,12 @@ public:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::string
|
||||||
|
message(int ev) const override
|
||||||
|
{
|
||||||
|
return message(ev, nullptr, 0);
|
||||||
|
}
|
||||||
|
|
||||||
error_condition
|
error_condition
|
||||||
default_error_condition(int ev) const noexcept override
|
default_error_condition(int ev) const noexcept override
|
||||||
{
|
{
|
||||||
@ -128,9 +135,9 @@ public:
|
|||||||
|
|
||||||
error_conditions() : error_category(0x7a8de5d61799ce9eu) {}
|
error_conditions() : error_category(0x7a8de5d61799ce9eu) {}
|
||||||
|
|
||||||
|
BOOST_BEAST_DECL
|
||||||
std::string
|
char const*
|
||||||
message(int cv) const override
|
message(int cv, char*, std::size_t) const noexcept override
|
||||||
{
|
{
|
||||||
switch(static_cast<condition>(cv))
|
switch(static_cast<condition>(cv))
|
||||||
{
|
{
|
||||||
@ -139,6 +146,12 @@ public:
|
|||||||
case condition::protocol_violation: return "A WebSocket protocol violation occurred";
|
case condition::protocol_violation: return "A WebSocket protocol violation occurred";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::string
|
||||||
|
message(int cv) const override
|
||||||
|
{
|
||||||
|
return message(cv, nullptr, 0);
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
} // detail
|
} // detail
|
||||||
|
@ -55,8 +55,9 @@ public:
|
|||||||
return "boost.beast.zlib";
|
return "boost.beast.zlib";
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string
|
BOOST_BEAST_DECL
|
||||||
message(int ev) const override
|
char const*
|
||||||
|
message(int ev, char*, std::size_t) const noexcept override
|
||||||
{
|
{
|
||||||
switch(static_cast<error>(ev))
|
switch(static_cast<error>(ev))
|
||||||
{
|
{
|
||||||
@ -84,6 +85,12 @@ public:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::string
|
||||||
|
message(int ev) const override
|
||||||
|
{
|
||||||
|
return message(ev, nullptr, 0);
|
||||||
|
}
|
||||||
|
|
||||||
error_condition
|
error_condition
|
||||||
default_error_condition(int ev) const noexcept override
|
default_error_condition(int ev) const noexcept override
|
||||||
{
|
{
|
||||||
|
@ -34,12 +34,14 @@ public:
|
|||||||
BEAST_EXPECT(ec.category().name() != nullptr);
|
BEAST_EXPECT(ec.category().name() != nullptr);
|
||||||
BEAST_EXPECT(! ec.message().empty());
|
BEAST_EXPECT(! ec.message().empty());
|
||||||
BEAST_EXPECT(ec == c);
|
BEAST_EXPECT(ec == c);
|
||||||
|
BEAST_EXPECT(ec.message(nullptr, 0) != nullptr);
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
auto ec = make_error_condition(c);
|
auto ec = make_error_condition(c);
|
||||||
BEAST_EXPECT(ec.category().name() != nullptr);
|
BEAST_EXPECT(ec.category().name() != nullptr);
|
||||||
BEAST_EXPECT(! ec.message().empty());
|
BEAST_EXPECT(! ec.message().empty());
|
||||||
BEAST_EXPECT(ec == c);
|
BEAST_EXPECT(ec == c);
|
||||||
|
BEAST_EXPECT(ec.message(nullptr, 0) != nullptr);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -36,6 +36,8 @@ public:
|
|||||||
static_cast<std::underlying_type<error>::type>(ev))));
|
static_cast<std::underlying_type<error>::type>(ev))));
|
||||||
BEAST_EXPECT(cat.equivalent(ec,
|
BEAST_EXPECT(cat.equivalent(ec,
|
||||||
static_cast<std::underlying_type<error>::type>(ev)));
|
static_cast<std::underlying_type<error>::type>(ev)));
|
||||||
|
|
||||||
|
BEAST_EXPECT(ec.message(nullptr, 0) != nullptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@ -35,6 +35,9 @@ public:
|
|||||||
BEAST_EXPECT(ec.category().name() != nullptr);
|
BEAST_EXPECT(ec.category().name() != nullptr);
|
||||||
BEAST_EXPECT(! ec.message().empty());
|
BEAST_EXPECT(! ec.message().empty());
|
||||||
BEAST_EXPECT(ec == c);
|
BEAST_EXPECT(ec == c);
|
||||||
|
|
||||||
|
BEAST_EXPECT(ec.message(nullptr, 0) != nullptr);
|
||||||
|
BEAST_EXPECT(make_error_condition(c).message(nullptr, 0) != nullptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
void run() override
|
void run() override
|
||||||
|
@ -35,6 +35,8 @@ public:
|
|||||||
static_cast<std::underlying_type<error>::type>(ev))));
|
static_cast<std::underlying_type<error>::type>(ev))));
|
||||||
BEAST_EXPECT(cat.equivalent(ec,
|
BEAST_EXPECT(cat.equivalent(ec,
|
||||||
static_cast<std::underlying_type<error>::type>(ev)));
|
static_cast<std::underlying_type<error>::type>(ev)));
|
||||||
|
|
||||||
|
BEAST_EXPECT(ec.message(nullptr, 0) != nullptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
void run() override
|
void run() override
|
||||||
|
Reference in New Issue
Block a user