public async Task <Response <Request> > Build( string httpMethod, string downstreamUrl, Stream content, IHeaderDictionary headers, IRequestCookieCollection cookies, QueryString queryString, string contentType, RequestId.RequestId requestId, bool isQos, IQoSProvider qosProvider) { var request = await new RequestBuilder() .WithHttpMethod(httpMethod) .WithDownstreamUrl(downstreamUrl) .WithQueryString(queryString) .WithContent(content) .WithContentType(contentType) .WithHeaders(headers) .WithRequestId(requestId) .WithCookies(cookies) .WithIsQos(isQos) .WithQos(qosProvider) .Build(); return(new OkResponse <Request>(request)); }
public RequestBuilder WithRequestId(RequestId.RequestId requestId) { _requestId = requestId; return(this); }
private bool ShouldAddRequestId(RequestId.RequestId requestId, HttpRequestHeaders headers) { return(!string.IsNullOrEmpty(requestId?.RequestIdKey) && !string.IsNullOrEmpty(requestId.RequestIdValue) && !RequestIdInHeaders(requestId, headers)); }
private bool RequestIdInHeaders(RequestId.RequestId requestId, HttpRequestHeaders headers) { IEnumerable <string> value; return(headers.TryGetValues(requestId.RequestIdKey, out value)); }
private void AddRequestIdHeader(RequestId.RequestId requestId, HttpRequestMessage httpRequestMessage) { httpRequestMessage.Headers.Add(requestId.RequestIdKey, requestId.RequestIdValue); }