public async Task InvokeAsync(HttpContext context, RequestDelegate next) { var requestDomain = context.Request.Host.Value; var site = await _siteProvider.LoadAsync(requestDomain); if (site != null) { _siteRequestAccessor.Current.Site = site; var theme = await _themeProvider.LoadTheme(site.ThemeId); _siteRequestAccessor.Current.Theme = theme; await next.Invoke(context); } else { context.Response.StatusCode = StatusCodes.Status404NotFound; await context.Response.WriteAsync(ErrorCodes.NotFoundSite.MessageContent); } }