From 2ec043d21298b888420001698c7371b6ec29e58c Mon Sep 17 00:00:00 2001 From: waldekmastykarz Date: Tue, 23 Jan 2024 08:27:17 +0100 Subject: [PATCH] Extends RateLimitPlugin to expose default throttling for CORS --- dev-proxy-plugins/Behavior/RateLimitingPlugin.cs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/dev-proxy-plugins/Behavior/RateLimitingPlugin.cs b/dev-proxy-plugins/Behavior/RateLimitingPlugin.cs index 12b20060..a988ddda 100644 --- a/dev-proxy-plugins/Behavior/RateLimitingPlugin.cs +++ b/dev-proxy-plugins/Behavior/RateLimitingPlugin.cs @@ -88,6 +88,11 @@ private void UpdateProxyResponse(ProxyHttpEventArgsBase e, HttpStatusCode errorS } headers.Add(new(_configuration.HeaderRetryAfter, ((int)(_resetTime - DateTime.Now).TotalSeconds).ToString())); + if (request.Headers.Any(h => h.Name.Equals("Origin", StringComparison.OrdinalIgnoreCase))) + { + headers.Add(new("Access-Control-Allow-Origin", "*")); + headers.Add(new("Access-Control-Expose-Headers", _configuration.HeaderRetryAfter)); + } e.Session.GenericResponse(body ?? string.Empty, errorStatus, headers.Select(h => new HttpHeader(h.Name, h.Value)).ToArray()); return;