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('/'); var splittedReqPath = reqPath[1..].Split('/');
for (int i = 0; i < pparams.Count; i++) { for (int i = 0; i < pparams.Count; i++) {
var pparam = pparams[i]; var pparam = pparams[i];
string paramValue;
if (pparam.IsCatchAll) if (pparam.IsCatchAll)
convertedMParamValues[pparam.ArgPos] = string.Join('/', splittedReqPath[pparam.SegmentStartPos..]); paramValue = string.Join('/', splittedReqPath[pparam.SegmentStartPos..]);
else 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;
}
} }
} }