mirror of
https://github.com/nsnail/Ocelot.git
synced 2025-04-22 14:02:49 +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()
|
||||
{
|
||||
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)
|
||||
|
Loading…
x
Reference in New Issue
Block a user