payload content length fix

This commit is contained in:
Oliver Kieselbach
2026-02-07 22:31:04 +01:00
parent 2001dbaa29
commit 8831bc33eb
8 changed files with 30 additions and 10 deletions
@@ -56,7 +56,9 @@ namespace AutopilotMonitor.Functions.Functions
return unauthorized;
}
if (req.Body.Length > 1_048_576) // 1 MB limit
if (req.Headers.TryGetValues("Content-Length", out var clValues)
&& long.TryParse(clValues.FirstOrDefault(), out var contentLength)
&& contentLength > 1_048_576) // 1 MB limit
{
var badRequest = req.CreateResponse(HttpStatusCode.BadRequest);
await badRequest.WriteAsJsonAsync(new { success = false, message = "Request body too large" });
@@ -92,7 +94,9 @@ namespace AutopilotMonitor.Functions.Functions
return unauthorized;
}
if (req.Body.Length > 1_048_576) // 1 MB limit
if (req.Headers.TryGetValues("Content-Length", out var clValues2)
&& long.TryParse(clValues2.FirstOrDefault(), out var contentLength2)
&& contentLength2 > 1_048_576) // 1 MB limit
{
var badRequest = req.CreateResponse(HttpStatusCode.BadRequest);
await badRequest.WriteAsJsonAsync(new { success = false, message = "Request body too large" });
@@ -56,7 +56,9 @@ namespace AutopilotMonitor.Functions.Functions
return unauthorized;
}
if (req.Body.Length > 1_048_576) // 1 MB limit
if (req.Headers.TryGetValues("Content-Length", out var clValues)
&& long.TryParse(clValues.FirstOrDefault(), out var contentLength)
&& contentLength > 1_048_576) // 1 MB limit
{
var badRequest = req.CreateResponse(HttpStatusCode.BadRequest);
await badRequest.WriteAsJsonAsync(new { success = false, message = "Request body too large" });
@@ -92,7 +94,9 @@ namespace AutopilotMonitor.Functions.Functions
return unauthorized;
}
if (req.Body.Length > 1_048_576) // 1 MB limit
if (req.Headers.TryGetValues("Content-Length", out var clValues2)
&& long.TryParse(clValues2.FirstOrDefault(), out var contentLength2)
&& contentLength2 > 1_048_576) // 1 MB limit
{
var badRequest = req.CreateResponse(HttpStatusCode.BadRequest);
await badRequest.WriteAsJsonAsync(new { success = false, message = "Request body too large" });
@@ -68,7 +68,9 @@ namespace AutopilotMonitor.Functions.Functions
{
// Legacy format: standard JSON (backwards compatibility)
_logger.LogDebug("Parsing legacy JSON request");
if (req.Body.Length > 1_048_576) // 1 MB limit
if (req.Headers.TryGetValues("Content-Length", out var clValues)
&& long.TryParse(clValues.FirstOrDefault(), out var contentLength)
&& contentLength > 1_048_576) // 1 MB limit
{
return await CreateErrorResponse(req, HttpStatusCode.BadRequest, "Request body too large");
}
@@ -38,7 +38,9 @@ namespace AutopilotMonitor.Functions.Functions
try
{
// Parse request
if (req.Body.Length > 1_048_576) // 1 MB limit
if (req.Headers.TryGetValues("Content-Length", out var clValues)
&& long.TryParse(clValues.FirstOrDefault(), out var contentLength)
&& contentLength > 1_048_576) // 1 MB limit
{
var errorResponse = await CreateErrorResponse(req, HttpStatusCode.BadRequest, "Request body too large");
return new RegisterSessionOutput { HttpResponse = errorResponse };
@@ -38,7 +38,9 @@ namespace AutopilotMonitor.Functions.Functions
}
// Parse request
if (req.Body.Length > 1_048_576) // 1 MB limit
if (req.Headers.TryGetValues("Content-Length", out var clValues)
&& long.TryParse(clValues.FirstOrDefault(), out var contentLength)
&& contentLength > 1_048_576) // 1 MB limit
{
var errorResponse = req.CreateResponse(HttpStatusCode.BadRequest);
await errorResponse.WriteAsJsonAsync(new { success = false, message = "Request body too large" });
@@ -38,7 +38,9 @@ namespace AutopilotMonitor.Functions.Functions
}
// Parse request
if (req.Body.Length > 1_048_576) // 1 MB limit
if (req.Headers.TryGetValues("Content-Length", out var clValues)
&& long.TryParse(clValues.FirstOrDefault(), out var contentLength)
&& contentLength > 1_048_576) // 1 MB limit
{
var errorResponse = req.CreateResponse(HttpStatusCode.BadRequest);
await errorResponse.WriteAsJsonAsync(new { success = false, message = "Request body too large" });
@@ -67,7 +67,9 @@ namespace AutopilotMonitor.Functions.Functions
_logger.LogInformation($"UpdateAdminConfiguration by Galactic Admin user {userIdentifier}");
// Parse request body
if (req.Body.Length > 1_048_576) // 1 MB limit
if (req.Headers.TryGetValues("Content-Length", out var clValues)
&& long.TryParse(clValues.FirstOrDefault(), out var contentLength)
&& contentLength > 1_048_576) // 1 MB limit
{
var badRequest = req.CreateResponse(HttpStatusCode.BadRequest);
await badRequest.WriteAsJsonAsync(new { success = false, message = "Request body too large" });
@@ -65,7 +65,9 @@ namespace AutopilotMonitor.Functions.Functions
_logger.LogInformation($"UpdateTenantConfiguration: {tenantId} by user {userIdentifier}");
// Parse request body
if (req.Body.Length > 1_048_576) // 1 MB limit
if (req.Headers.TryGetValues("Content-Length", out var clValues)
&& long.TryParse(clValues.FirstOrDefault(), out var contentLength)
&& contentLength > 1_048_576) // 1 MB limit
{
var badRequest = req.CreateResponse(HttpStatusCode.BadRequest);
await badRequest.WriteAsJsonAsync(new { success = false, message = "Request body too large" });