mirror of
https://github.com/nsnail/Ocelot.git
synced 2025-04-22 06:42:50 +08:00
finished refactoring request creator for now..still probably does too much for one class but is now readable
This commit is contained in:
parent
5fc04a0514
commit
2474a02b7c
@ -73,7 +73,7 @@ namespace Ocelot.Request.Builder
|
|||||||
|
|
||||||
public async Task<Request> Build()
|
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);
|
var httpRequestMessage = new HttpRequestMessage(_method, uri);
|
||||||
|
|
||||||
@ -83,7 +83,7 @@ namespace Ocelot.Request.Builder
|
|||||||
|
|
||||||
AddHeadersToRequest(httpRequestMessage);
|
AddHeadersToRequest(httpRequestMessage);
|
||||||
|
|
||||||
if (RequestIdKeyIsNotNull(_requestId) && !RequestIdInHeaders(_requestId, httpRequestMessage.Headers))
|
if (ShouldAddRequestId(_requestId, httpRequestMessage.Headers))
|
||||||
{
|
{
|
||||||
AddRequestIdHeader(_requestId, httpRequestMessage);
|
AddRequestIdHeader(_requestId, httpRequestMessage);
|
||||||
}
|
}
|
||||||
@ -93,6 +93,12 @@ namespace Ocelot.Request.Builder
|
|||||||
return new Request(httpRequestMessage, cookieContainer);
|
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)
|
private async Task AddContentToRequest(HttpRequestMessage httpRequestMessage)
|
||||||
{
|
{
|
||||||
if (_content != null)
|
if (_content != null)
|
||||||
@ -155,17 +161,14 @@ namespace Ocelot.Request.Builder
|
|||||||
private bool RequestIdInHeaders(RequestId.RequestId requestId, HttpRequestHeaders headers)
|
private bool RequestIdInHeaders(RequestId.RequestId requestId, HttpRequestHeaders headers)
|
||||||
{
|
{
|
||||||
IEnumerable<string> value;
|
IEnumerable<string> value;
|
||||||
if (headers.TryGetValues(requestId.RequestIdKey, out value))
|
return headers.TryGetValues(requestId.RequestIdKey, out value);
|
||||||
{
|
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
private bool ShouldAddRequestId(RequestId.RequestId requestId, HttpRequestHeaders headers)
|
||||||
}
|
|
||||||
|
|
||||||
private bool RequestIdKeyIsNotNull(RequestId.RequestId requestId)
|
|
||||||
{
|
{
|
||||||
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)
|
private async Task<byte[]> ToByteArray(Stream stream)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user