mirror of
https://github.com/matrix-construct/construct
synced 2024-11-26 00:32:35 +01:00
ircd: Tweak client error handling; fwddecl json::expectation_failure.
This commit is contained in:
parent
4dd97298f5
commit
8c02823d49
4 changed files with 11 additions and 11 deletions
|
@ -21,6 +21,7 @@ namespace ircd::json
|
||||||
IRCD_EXCEPTION(error, type_error);
|
IRCD_EXCEPTION(error, type_error);
|
||||||
IRCD_EXCEPTION(error, not_found);
|
IRCD_EXCEPTION(error, not_found);
|
||||||
IRCD_EXCEPTION(parse_error, recursion_limit);
|
IRCD_EXCEPTION(parse_error, recursion_limit);
|
||||||
|
struct expectation_failure;
|
||||||
|
|
||||||
struct value;
|
struct value;
|
||||||
struct member;
|
struct member;
|
||||||
|
|
|
@ -572,18 +572,19 @@ catch(const boost::system::system_error &e)
|
||||||
close(net::dc::RST, net::close_ignore);
|
close(net::dc::RST, net::close_ignore);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
#ifndef RB_DEBUG
|
||||||
catch(const std::exception &e)
|
catch(const std::exception &e)
|
||||||
{
|
{
|
||||||
log::error("client[%s] [500 Internal Error]: %s",
|
log::error
|
||||||
|
{
|
||||||
|
"client[%s] [500 Internal Error]: %s"
|
||||||
string(remote(*this)),
|
string(remote(*this)),
|
||||||
e.what());
|
e.what())
|
||||||
|
};
|
||||||
|
|
||||||
#ifdef RB_DEBUG
|
|
||||||
throw;
|
|
||||||
#else
|
|
||||||
return false;
|
return false;
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/// Handle a single request within the client main() loop.
|
/// Handle a single request within the client main() loop.
|
||||||
///
|
///
|
||||||
|
|
|
@ -42,8 +42,6 @@ namespace ircd::json
|
||||||
using karma::eps;
|
using karma::eps;
|
||||||
using karma::attr_cast;
|
using karma::attr_cast;
|
||||||
|
|
||||||
struct expectation_failure;
|
|
||||||
|
|
||||||
template<class it> struct input;
|
template<class it> struct input;
|
||||||
template<class it> struct output;
|
template<class it> struct output;
|
||||||
|
|
||||||
|
|
|
@ -321,7 +321,7 @@ catch(const json::not_found &e)
|
||||||
{
|
{
|
||||||
throw m::error
|
throw m::error
|
||||||
{
|
{
|
||||||
http::BAD_REQUEST, "M_BAD_JSON", "Required JSON field: %s", e.what()
|
http::NOT_FOUND, "M_BAD_JSON", "Required JSON field: %s", e.what()
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
catch(const json::print_error &e)
|
catch(const json::print_error &e)
|
||||||
|
|
Loading…
Reference in a new issue