Exemple #1
0
        /// <summary>
        /// Invokes the PreferredDomainMiddleware.
        /// </summary>
        /// <param name="context">The http context.</param>
        /// <param name="settings"><see cref="AppSettings"/></param>
        /// <param name="rewriter"><see cref="IPreferredDomainRewriter"/></param>
        /// <returns></returns>
        public Task Invoke(HttpContext context, IOptionsSnapshot <AppSettings> settings, IPreferredDomainRewriter rewriter)
        {
            var url = rewriter.Rewrite(context.Request, settings.Value.PreferredDomain);

            if (url == null)
            {
                // no rewrite is needed
                return(_next(context));
            }

            _logger.LogInformation("RewriteUrl: {@RewriteUrl}", url);
            //context.Response.Headers[HeaderNames.Location] = url;
            //context.Response.StatusCode = StatusCodes.Status301MovedPermanently;
            context.Response.Redirect(url, permanent: true);

            return(Task.CompletedTask);
        }
Exemple #2
0
 public PreferredDomainRewriterTest()
 {
     _rewriter = new PreferredDomainRewriter();
 }