public async Task Invoke(HttpRequest request, HttpResponse response, MiddlewareResultHandler setResult)
        {
            if (request.QueryString.ContainsKey("middleware"))
            {
                string value = request.QueryString["middleware"];
                if (value == "custom")
                {
                    IActionResult result = new StatusCodeResult(HttpStatusCode.Forbidden);
                    setResult(result);
                    return;
                }
            }

            await Task.CompletedTask;
        }
Beispiel #2
0
        /// <summary>
        /// Invokes middleware for each request
        /// </summary>
        public async Task Invoke(HttpRequest request, HttpResponse response, MiddlewareResultHandler setResult)
        {
            if (AllowCredentials)
            {
                response.AdditionalHeaders.Add(HttpHeaders.ACCESS_CONTROL_ALLOW_CREDENTIALS, "true");
            }

            if (!string.IsNullOrEmpty(AllowedOrigins))
            {
                if (AllowedOrigins == "*")
                {
                    response.AdditionalHeaders.Add(HttpHeaders.ACCESS_CONTROL_ALLOW_ORIGIN,
                                                   request.Headers.ContainsKey(HttpHeaders.ORIGIN)
                                                       ? request.Headers[HttpHeaders.ORIGIN]
                                                       : "*");
                }
                else
                {
                    response.AdditionalHeaders.Add(HttpHeaders.ACCESS_CONTROL_ALLOW_ORIGIN, AllowedOrigins);
                }
            }

            if (request.Method.Equals(HttpHeaders.HTTP_OPTIONS, StringComparison.InvariantCultureIgnoreCase))
            {
                if (!string.IsNullOrEmpty(AllowedHeaders))
                {
                    response.AdditionalHeaders.Add(HttpHeaders.ACCESS_CONTROL_ALLOW_HEADERS, AllowedHeaders);
                }

                if (!string.IsNullOrEmpty(AllowedMethods))
                {
                    response.AdditionalHeaders.Add(HttpHeaders.ACCESS_CONTROL_ALLOW_METHODS, AllowedMethods);
                }

                if (!string.IsNullOrEmpty(AllowMaxAge))
                {
                    response.AdditionalHeaders.Add(HttpHeaders.ACCESS_CONTROL_MAX_AGE, AllowMaxAge);
                }

                setResult(StatusCodeResult.NoContent());
            }

            await Task.CompletedTask;
        }
Beispiel #3
0
 public async Task Invoke(HttpRequest request, HttpResponse response, MiddlewareResultHandler setResult)
 {
     Console.WriteLine("TMid Middleware");
     await Task.CompletedTask;
 }