Fix MediaTypeRouteFilterAttribute

This commit is contained in:
Laura Hausmann 2024-01-22 21:35:55 +01:00
parent f128637957
commit 65f009ff74
No known key found for this signature in database
GPG key ID: D044E84C5BE01605

View file

@ -8,7 +8,8 @@ public class MediaTypeRouteFilterAttribute(params string[] mediaTypes) : Attribu
//TODO: this should parse the header properly, edge cases like profile=, charset=, q= are not currently handled. //TODO: this should parse the header properly, edge cases like profile=, charset=, q= are not currently handled.
return context.RouteContext.HttpContext.Request.Headers.ContainsKey("Accept") && return context.RouteContext.HttpContext.Request.Headers.ContainsKey("Accept") &&
mediaTypes.Any(p => context.RouteContext.HttpContext.Request.Headers.Accept.ToString() == p || mediaTypes.Any(p => context.RouteContext.HttpContext.Request.Headers.Accept.ToString() == p ||
p.StartsWith(context.RouteContext.HttpContext.Request.Headers.Accept + ";")); context.RouteContext.HttpContext.Request.Headers.Accept.ToString()
.StartsWith(p + ";"));
} }
public int Order => HttpMethodActionConstraint.HttpMethodConstraintOrder + 1; public int Order => HttpMethodActionConstraint.HttpMethodConstraintOrder + 1;