|  |  |  | @ -1,5 +1,7 @@ | 
			
		
	
		
			
				
					|  |  |  |  | using System.Linq; | 
			
		
	
		
			
				
					|  |  |  |  | using Microsoft.AspNetCore.Http; | 
			
		
	
		
			
				
					|  |  |  |  | using Microsoft.Extensions.DependencyInjection; | 
			
		
	
		
			
				
					|  |  |  |  | using Microsoft.Extensions.Logging; | 
			
		
	
		
			
				
					|  |  |  |  | using Volo.Abp.MultiTenancy; | 
			
		
	
		
			
				
					|  |  |  |  | using Volo.ExtensionMethods.Collections.Generic; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
	
		
			
				
					|  |  |  | @ -9,13 +11,14 @@ namespace Volo.Abp.AspNetCore.MultiTenancy | 
			
		
	
		
			
				
					|  |  |  |  |     { | 
			
		
	
		
			
				
					|  |  |  |  |         protected override string GetTenantIdOrNameFromHttpContextOrNull(ITenantResolveContext context, HttpContext httpContext) | 
			
		
	
		
			
				
					|  |  |  |  |         { | 
			
		
	
		
			
				
					|  |  |  |  |             //TODO: Get first one if provided multiple values and write a log | 
			
		
	
		
			
				
					|  |  |  |  |             if (httpContext.Request.Headers.IsNullOrEmpty()) | 
			
		
	
		
			
				
					|  |  |  |  |             { | 
			
		
	
		
			
				
					|  |  |  |  |                 return null; | 
			
		
	
		
			
				
					|  |  |  |  |             } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |             var tenantIdHeader = httpContext.Request.Headers[context.GetAspNetCoreMultiTenancyOptions().TenantIdKey]; | 
			
		
	
		
			
				
					|  |  |  |  |             var tenantIdKey = context.GetAspNetCoreMultiTenancyOptions().TenantIdKey; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |             var tenantIdHeader = httpContext.Request.Headers[tenantIdKey]; | 
			
		
	
		
			
				
					|  |  |  |  |             if (tenantIdHeader == string.Empty || tenantIdHeader.Count < 1) | 
			
		
	
		
			
				
					|  |  |  |  |             { | 
			
		
	
		
			
				
					|  |  |  |  |                 return null; | 
			
		
	
	
		
			
				
					|  |  |  | @ -23,7 +26,9 @@ namespace Volo.Abp.AspNetCore.MultiTenancy | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |             if (tenantIdHeader.Count > 1) | 
			
		
	
		
			
				
					|  |  |  |  |             { | 
			
		
	
		
			
				
					|  |  |  |  |                  | 
			
		
	
		
			
				
					|  |  |  |  |                 context.ServiceProvider.GetRequiredService<ILogger<HeaderTenantResolver>>().LogWarning( | 
			
		
	
		
			
				
					|  |  |  |  |                     $"HTTP request includes more than one {tenantIdKey} header value. First one will be used. All of them: {tenantIdHeader.JoinAsString(", ")}" | 
			
		
	
		
			
				
					|  |  |  |  |                     ); | 
			
		
	
		
			
				
					|  |  |  |  |             } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |             return tenantIdHeader.First(); | 
			
		
	
	
		
			
				
					|  |  |  | 
 |