Fix server producing a timeout on setting status code without returning a body
This commit is contained in:
1 parent
e1e1596e54
commit
14ab546d4d
2 files changed
+15
-10
No files matched your search
@@ -159,11 +159,11 @@ public sealed class HttpServer {
|
||||
foreach (var queryKV in queryStringArgs) {
|
||||
var queryKVSplitted = queryKV.Split('=');
|
||||
if (queryKVSplitted.Length != 2) {
|
||||
rc.SetStatusCodeAndDispose(HttpStatusCode.BadRequest, "Malformed request URL parameters");
|
||||
await rc.SetStatusCodeAndDisposeAsync(HttpStatusCode.BadRequest, "Malformed request URL parameters");
|
||||
return;
|
||||
}
|
||||
if (!parsedQParams.TryAdd(WebUtility.UrlDecode(queryKVSplitted[0]), WebUtility.UrlDecode(queryKVSplitted[1]))) {
|
||||
rc.SetStatusCodeAndDispose(HttpStatusCode.BadRequest, "Duplicate request URL parameters");
|
||||
await rc.SetStatusCodeAndDisposeAsync(HttpStatusCode.BadRequest, "Duplicate request URL parameters");
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -176,14 +176,14 @@ public sealed class HttpServer {
|
||||
if (stringToTypeParameterConverters[qparamInfo.type].TryConvertFromString(qparamValue, out object objRes)) {
|
||||
convertedQParamValues[i] = objRes;
|
||||
} else {
|
||||
rc.SetStatusCodeAndDispose(HttpStatusCode.BadRequest);
|
||||
await rc.SetStatusCodeAndDisposeAsync(HttpStatusCode.BadRequest);
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
if (qparamInfo.isOptional) {
|
||||
convertedQParamValues[i] = null!;
|
||||
} else {
|
||||
rc.SetStatusCodeAndDispose(HttpStatusCode.BadRequest, $"Missing required query parameter {qparamName}");
|
||||
await rc.SetStatusCodeAndDisposeAsync(HttpStatusCode.BadRequest, $"Missing required query parameter {qparamName}");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user