summaryrefslogtreecommitdiff
path: root/modules/httpd.cpp
diff options
context:
space:
mode:
authorSadie Powell <sadie@witchery.services>2024-03-11 13:53:05 +0000
committerSadie Powell <sadie@witchery.services>2024-03-11 19:17:29 +0000
commit29e7674e56bf2b829bba22def2760d034a76e788 (patch)
treef40049ba995b03dd7c510d88f9f19db2d2e65a2e /modules/httpd.cpp
parente2df7d4d01f8fdb41c49ce8efc462cab005e7d5c (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.cpp9
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)
{