fix path parameter conversion not working

This commit is contained in:
GHXX 2024-08-29 01:00:29 +02:00
parent c4db0f2d2c
commit 81dd1f8bd5

View File

@ -328,10 +328,18 @@ public sealed class HttpServer {
var splittedReqPath = reqPath[1..].Split('/');
for (int i = 0; i < pparams.Count; i++) {
var pparam = pparams[i];
string paramValue;
if (pparam.IsCatchAll)
convertedMParamValues[pparam.ArgPos] = string.Join('/', splittedReqPath[pparam.SegmentStartPos..]);
paramValue = string.Join('/', splittedReqPath[pparam.SegmentStartPos..]);
else
convertedMParamValues[pparam.ArgPos] = splittedReqPath[pparam.SegmentStartPos];
paramValue = splittedReqPath[pparam.SegmentStartPos];
if (stringToTypeParameterConverters[pparam.Type].TryConvertFromString(paramValue, out var res))
convertedMParamValues[pparam.ArgPos] = res;
else {
await HandleDefaultErrorPageAsync(rc, HttpStatusCode.BadRequest);
return;
}
}
}