public async Task InvokeAsync(PipelineContext context, PipelineDelegate next) { if (context.GetFirst(out HttpResponseMessage responseMessage)) { if (responseMessage.IsSuccessStatusCode) { var response = await responseMessage.Content.ReadAsStringAsync(); if (string.Compare("Exception:", response.Substring(0, 10), true) == 0) { context.AddNotification(this, response); return; } } else { context.AddNotification(this, $"Unsuccessful Response: {responseMessage.StatusCode}"); } await next.Invoke(); } else { throw new PipelineDependencyException <HttpRequestMessage>(this); } }
public async Task InvokeAsync(PipelineContext context, PipelineDelegate next) { if (_queryParameters.Any()) { if (!context.GetFirst(out Uri uri)) { throw new PipelineDependencyException <Uri>(this); } var keyValuePairs = NameValueToKeyValuePairs(HttpUtility.ParseQueryString(uri.Query)); foreach (var queryParameter in _queryParameters) { if (context.Get(queryParameter.ContextVariableName, out string contextParameterValue) && !string.IsNullOrEmpty(contextParameterValue)) { keyValuePairs.Add(new KeyValuePair <string, string>(queryParameter.ContextVariableName, contextParameterValue)); } else if (!queryParameter.Optional) { context.AddNotification(this, $"Context variable '{queryParameter.ContextVariableName}' was not found or does not contain a value and is not optional"); return; } } var ub = new UriBuilder(uri); QueryBuilder qb = new QueryBuilder(keyValuePairs); ub.Query = qb.ToString(); context.AddOrReplace(ub.Uri); await next.Invoke(); } }
public async Task InvokeAsync(PipelineContext context, PipelineDelegate next) { if (context.Get("endpoint", out string endPoint)) { if (BaseUrl == null) { context.AddNotification(this, "Missing BaseUrl value"); return; } var uri = BaseUrl.Append(endPoint); context.Add(uri); await next.Invoke(); } else { context.AddNotification(this, "Missing endpoint information"); } }
public async Task InvokeAsync(PipelineContext context, PipelineDelegate next) { if (context.GetFirst(out Uri uri)) { var response = await HttpClientRequest .Get() .Uri(uri) .InvokeAsync(); if (response.IsSuccessStatusCode) { context.Add(response); await next.Invoke(); } ; } else { context.AddNotification(this, "No URI specified"); } }