mirror of
				https://github.com/nsnail/Ocelot.git
				synced 2025-11-04 09:15:27 +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:
		@@ -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 false;
 | 
			
		||||
            return headers.TryGetValues(requestId.RequestIdKey, out value);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        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)
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user