public async Task <IActionResult> RunAsync( [HttpTrigger(AuthorizationLevel.Function, "get", Route = "adapters/{adapter}/mappings")] HttpRequest httpRequest, string adapter, CancellationToken cancellationToken) { IActionResult toReturn = null; if (httpRequest == null) { throw new ArgumentNullException(nameof(httpRequest)); } IHeaderDictionary headerDictionary = httpRequest.Headers; this.httpSpiExecutionContextManager.SetContext(headerDictionary); GetAdapterEnumerationMappingsRequest getAdapterEnumerationMappingsRequest = new GetAdapterEnumerationMappingsRequest() { AdapterName = adapter, }; toReturn = await this.ProcessWellFormedRequestAsync( getAdapterEnumerationMappingsRequest, cancellationToken) .ConfigureAwait(false); return(toReturn); }
/// <inheritdoc /> public async Task <GetAdapterEnumerationMappingsResponse> GetAdapterEnumerationMappingsAsync( GetAdapterEnumerationMappingsRequest getAdapterEnumerationMappingsRequest, CancellationToken cancellationToken) { if (getAdapterEnumerationMappingsRequest == null) { throw new ArgumentNullException(nameof(getAdapterEnumerationMappingsRequest)); } this.loggerWrapper.Debug( $"Pulling back {nameof(AdapterMappingsResult)} for " + $"adapter {getAdapterEnumerationMappingsRequest.AdapterName} " + $"from the {nameof(ICacheManager)}..."); object unboxedMappingsResult = await this.cacheManager.GetAsync( getAdapterEnumerationMappingsRequest.AdapterName, cancellationToken) .ConfigureAwait(false); AdapterMappingsResult adapterMappingsResult = unboxedMappingsResult as AdapterMappingsResult; // Result will be non-null. this.loggerWrapper.Info( $"{nameof(MappingsResult)} pulled back from the " + $"{nameof(ICacheManager)}: {adapterMappingsResult}."); return(new GetAdapterEnumerationMappingsResponse { AdapterMappingsResult = adapterMappingsResult, }); }
private async Task <IActionResult> ProcessWellFormedRequestAsync( GetAdapterEnumerationMappingsRequest getAdapterEnumerationMappingsRequest, CancellationToken cancellationToken) { IActionResult toReturn = null; this.loggerWrapper.Debug( $"Invoking {nameof(IGetAdapterEnumerationMappingsProcessor)} with " + $"{getAdapterEnumerationMappingsRequest}..."); GetAdapterEnumerationMappingsResponse getAdapterEnumerationMappingsResponse = await this.getAdapterEnumerationMappingsProcessor.GetAdapterEnumerationMappingsAsync( getAdapterEnumerationMappingsRequest, cancellationToken) .ConfigureAwait(false); this.loggerWrapper.Info( $"{nameof(IGetAdapterEnumerationMappingsProcessor)} invoked with " + $"success: {getAdapterEnumerationMappingsResponse}."); Dictionary <string, MappingsResult> mappings = getAdapterEnumerationMappingsResponse.AdapterMappingsResult?.EnumerationMappings; if (mappings != null && mappings.Any()) { this.loggerWrapper.Debug( $"Looks like we got some results: " + $"{getAdapterEnumerationMappingsResponse}. Returning as JSON."); toReturn = new JsonResult(mappings); } else { this.loggerWrapper.Info( $"No mappings found for adapter {getAdapterEnumerationMappingsRequest.AdapterName}!"); toReturn = this.httpErrorBodyResultProvider.GetHttpErrorBodyResult( HttpStatusCode.NotFound, 1, "all", getAdapterEnumerationMappingsRequest.AdapterName); } return(toReturn); }