public override async Task <HttpResponseMessage> HandleRequest(HttpRequestMessage request, CancellationToken cancellationToken) // ToDo: Ajustei a ordem dos modificadores. { if (!_authService.NeedAuthentication()) { return(await _nextHandler.HandleRequest(request, cancellationToken)); } if (!_authService.ValidateApiKey(request)) { var error = new ForbiddenError(); return(MakeResponse(error.HttpErrorResponse, error.HttpErrorStatusCode)); // ToDo: Removi o código não necessário. } return(await _nextHandler.HandleRequest(request, cancellationToken)); }
public override async Task <HttpResponseMessage> HandleRequest(HttpRequestMessage request, CancellationToken cancellationToken) { var queryParameters = request.GetQueryNameValuePairs().ToDictionary(kv => kv.Key, kv => kv.Value, StringComparer.OrdinalIgnoreCase); queryParameters.TryGetValue("apikey", out var apiKey); if (!_authService.NeedAuthentication()) { return(await _nextHandler.HandleRequest(request, cancellationToken)); } if (!_authService.ValidateApiKey(apiKey)) { var error = new ForbiddenError(apiKey); _hcConfig.Logger?.LogException(error, _hcConfig.LoggerProperties); return(MakeResponse(error.HttpErrorResponse, error.HttpErrorStatusCode)); } return(await _nextHandler.HandleRequest(request, cancellationToken)); }