mirror of
https://github.com/matrix-construct/construct
synced 2025-01-15 17:16:49 +01:00
ircd: Move client request exception handler to where the rest are.
This commit is contained in:
parent
1b1e9ace7a
commit
62caa95ec8
1 changed files with 20 additions and 20 deletions
|
@ -263,6 +263,25 @@ noexcept try
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
catch(const http::error &e)
|
||||||
|
{
|
||||||
|
log::debug("client[%s] HTTP %s in %ld$us %s",
|
||||||
|
string(remote(*this)),
|
||||||
|
e.what(),
|
||||||
|
request_timer.at<microseconds>().count(),
|
||||||
|
e.content);
|
||||||
|
|
||||||
|
switch(e.code)
|
||||||
|
{
|
||||||
|
case http::BAD_REQUEST:
|
||||||
|
case http::REQUEST_TIMEOUT:
|
||||||
|
case http::INTERNAL_SERVER_ERROR:
|
||||||
|
return false;
|
||||||
|
|
||||||
|
default:
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
catch(const boost::system::system_error &e)
|
catch(const boost::system::system_error &e)
|
||||||
{
|
{
|
||||||
using namespace boost::system::errc;
|
using namespace boost::system::errc;
|
||||||
|
@ -298,6 +317,7 @@ catch(const boost::system::system_error &e)
|
||||||
else if(ec.category() == get_ssl_category()) switch(uint8_t(value))
|
else if(ec.category() == get_ssl_category()) switch(uint8_t(value))
|
||||||
{
|
{
|
||||||
case SSL_R_SHORT_READ:
|
case SSL_R_SHORT_READ:
|
||||||
|
case SSL_R_PROTOCOL_IS_SHUTDOWN:
|
||||||
disconnect(*this, net::dc::RST);
|
disconnect(*this, net::dc::RST);
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
@ -339,7 +359,6 @@ catch(const std::exception &e)
|
||||||
bool
|
bool
|
||||||
ircd::handle_request(client &client,
|
ircd::handle_request(client &client,
|
||||||
parse::capstan &pc)
|
parse::capstan &pc)
|
||||||
try
|
|
||||||
{
|
{
|
||||||
client.request_timer = ircd::timer{};
|
client.request_timer = ircd::timer{};
|
||||||
const socket::scope_timeout timeout
|
const socket::scope_timeout timeout
|
||||||
|
@ -365,25 +384,6 @@ try
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
catch(const http::error &e)
|
|
||||||
{
|
|
||||||
log::debug("client[%s] HTTP %s in %ld$us %s",
|
|
||||||
string(remote(client)),
|
|
||||||
e.what(),
|
|
||||||
client.request_timer.at<microseconds>().count(),
|
|
||||||
e.content);
|
|
||||||
|
|
||||||
switch(e.code)
|
|
||||||
{
|
|
||||||
case http::BAD_REQUEST:
|
|
||||||
case http::REQUEST_TIMEOUT:
|
|
||||||
case http::INTERNAL_SERVER_ERROR:
|
|
||||||
return false;
|
|
||||||
|
|
||||||
default:
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
void
|
||||||
ircd::handle_request(client &client,
|
ircd::handle_request(client &client,
|
||||||
|
|
Loading…
Reference in a new issue