diff options
| author | Dan Engelbrecht <[email protected]> | 2024-02-05 12:29:43 +0100 |
|---|---|---|
| committer | GitHub <[email protected]> | 2024-02-05 12:29:43 +0100 |
| commit | 79c44e3223c2bb9c6c49ccefa9cae71f1f2af336 (patch) | |
| tree | 26fbdd670f5309596c9a801af84906b1aa5042de /src/zenserver/projectstore/projectstore.cpp | |
| parent | added robin-map dependency to zenutil (diff) | |
| download | zen-79c44e3223c2bb9c6c49ccefa9cae71f1f2af336.tar.xz zen-79c44e3223c2bb9c6c49ccefa9cae71f1f2af336.zip | |
respond with BadRequest result instead of throwing exception on bad request input (#648)
Diffstat (limited to 'src/zenserver/projectstore/projectstore.cpp')
| -rw-r--r-- | src/zenserver/projectstore/projectstore.cpp | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/zenserver/projectstore/projectstore.cpp b/src/zenserver/projectstore/projectstore.cpp index 6bb543d63..ea219f9b0 100644 --- a/src/zenserver/projectstore/projectstore.cpp +++ b/src/zenserver/projectstore/projectstore.cpp @@ -2838,8 +2838,18 @@ ProjectStore::Rpc(HttpServerRequest& HttpReq, } break; case HttpContentType::kCbPackage: - Package = ParsePackageMessage(Payload); - Cb = Package.GetObject(); + try + { + Package = ParsePackageMessage(Payload); + Cb = Package.GetObject(); + } + catch (const std::invalid_argument& ex) + { + HttpReq.WriteResponse(HttpResponseCode::BadRequest, + HttpContentType::kText, + fmt::format("Failed to parse package request, reason: '{}'", ex.what())); + return false; + } if (!Cb) { HttpReq.WriteResponse(HttpResponseCode::BadRequest, |