finished refactoring request creator for now..still probably does too much for one class but is now readable

This commit is contained in:
TomPallister 2016-10-30 18:48:07 +00:00
parent 5fc04a0514
commit 2474a02b7c

View File

@ -73,7 +73,7 @@ namespace Ocelot.Request.Builder
public async Task<Request> Build()
{
var uri = new Uri(string.Format("{0}{1}", _downstreamUrl, _queryString.ToUriComponent()));
var uri = CreateUri();
var httpRequestMessage = new HttpRequestMessage(_method, uri);
@ -83,7 +83,7 @@ namespace Ocelot.Request.Builder
AddHeadersToRequest(httpRequestMessage);
if (RequestIdKeyIsNotNull(_requestId) && !RequestIdInHeaders(_requestId, httpRequestMessage.Headers))
if (ShouldAddRequestId(_requestId, httpRequestMessage.Headers))
{
AddRequestIdHeader(_requestId, httpRequestMessage);
}
@ -93,6 +93,12 @@ namespace Ocelot.Request.Builder
return new Request(httpRequestMessage, cookieContainer);
}
private Uri CreateUri()
{
var uri = new Uri(string.Format("{0}{1}", _downstreamUrl, _queryString.ToUriComponent()));
return uri;
}
private async Task AddContentToRequest(HttpRequestMessage httpRequestMessage)
{
if (_content != null)
@ -155,17 +161,14 @@ namespace Ocelot.Request.Builder
private bool RequestIdInHeaders(RequestId.RequestId requestId, HttpRequestHeaders headers)
{
IEnumerable<string> value;
if (headers.TryGetValues(requestId.RequestIdKey, out value))
{
return true;
return headers.TryGetValues(requestId.RequestIdKey, out value);
}
return false;
}
private bool RequestIdKeyIsNotNull(RequestId.RequestId requestId)
private bool ShouldAddRequestId(RequestId.RequestId requestId, HttpRequestHeaders headers)
{
return !string.IsNullOrEmpty(requestId?.RequestIdKey) && !string.IsNullOrEmpty(requestId.RequestIdValue);
return !string.IsNullOrEmpty(requestId?.RequestIdKey)
&& !string.IsNullOrEmpty(requestId.RequestIdValue)
&& !RequestIdInHeaders(requestId, headers);
}
private async Task<byte[]> ToByteArray(Stream stream)