diff --git a/src/ReC.Application/RecActions/Commands/InvokeRecActionCommand.cs b/src/ReC.Application/RecActions/Commands/InvokeRecActionCommand.cs index 6a3fced..18d4c94 100644 --- a/src/ReC.Application/RecActions/Commands/InvokeRecActionCommand.cs +++ b/src/ReC.Application/RecActions/Commands/InvokeRecActionCommand.cs @@ -64,17 +64,24 @@ public class InvokeRecActionCommandHandler( case "API Key": if (action.EndpointAuthApiKey is string apiKey && action.EndpointAuthApiValue is string apiValue) { - if (action.EndpointAuthApiKeyAddTo == ApiKeyLocation.Header) + switch (action.EndpointAuthApiKeyAddTo) { - httpReq.Headers.Add(apiKey, apiValue); - } - else // Defaults to Query String - { - var uriBuilder = new UriBuilder(httpReq.RequestUri!); - var query = System.Web.HttpUtility.ParseQueryString(uriBuilder.Query); - query[apiKey] = apiValue; - uriBuilder.Query = query.ToString(); - httpReq.RequestUri = uriBuilder.Uri; + case ApiKeyLocation.Header: + httpReq.Headers.Add(apiKey, apiValue); + break; + case ApiKeyLocation.Query: + var uriBuilder = new UriBuilder(httpReq.RequestUri!); + var query = System.Web.HttpUtility.ParseQueryString(uriBuilder.Query); + query[apiKey] = apiValue; + uriBuilder.Query = query.ToString(); + httpReq.RequestUri = uriBuilder.Uri; + break; + default: + throw new DataIntegrityException( + $"The API key location '{action.EndpointAuthApiKeyAddTo}' is not supported. " + + $"ProfileId: {action.ProfileId}, " + + $"Id: {action.Id}" + ); } } break;