diff options
author | Sadie Powell <sadie@witchery.services> | 2024-03-11 13:53:05 +0000 |
---|---|---|
committer | Sadie Powell <sadie@witchery.services> | 2024-03-11 19:17:29 +0000 |
commit | 29e7674e56bf2b829bba22def2760d034a76e788 (patch) | |
tree | f40049ba995b03dd7c510d88f9f19db2d2e65a2e /modules/httpd.cpp | |
parent | e2df7d4d01f8fdb41c49ce8efc462cab005e7d5c (diff) |
Replace convertTo/stringify with non-throwing alternatives.
Having these throw is terrible for ergonomics and there are loads
of places where the exception was either silently ignored or not
handled at all. Having a function which returns an optional and
another that returns a default works a lot better imo.
Diffstat (limited to 'modules/httpd.cpp')
-rw-r--r-- | modules/httpd.cpp | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/modules/httpd.cpp b/modules/httpd.cpp index 226d750fe..f784d2d32 100644 --- a/modules/httpd.cpp +++ b/modules/httpd.cpp @@ -216,11 +216,8 @@ public: } else if (buf.find_ci("Content-Length: ") == 0) { - try - { - this->content_length = convertTo<unsigned>(buf.substr(16)); - } - catch (const ConvertException &ex) { } + if (auto len = Anope::TryConvert<unsigned>(buf.substr(16))) + this->content_length = len.value(); } else if (buf.find(':') != Anope::string::npos) { @@ -252,7 +249,7 @@ public: this->WriteClient("Content-Type: text/html"); else this->WriteClient("Content-Type: " + msg->content_type); - this->WriteClient("Content-Length: " + stringify(msg->length)); + this->WriteClient("Content-Length: " + Anope::ToString(msg->length)); for (const auto &cookie : msg->cookies) { |