public RedirectController(IShortLinkRepository shortLinkRepo, Serilog.ILogger logger, IOptions <RedirectOptions> redirectOptions, IOptions <GoogleAnalyticsOptions> gaOptions) { _shortLinkRepo = shortLinkRepo ?? throw new ArgumentNullException(nameof(shortLinkRepo)); _logger = logger ?? throw new ArgumentNullException(nameof(logger)); _redirectOptions = redirectOptions?.Value ?? throw new ArgumentNullException(nameof(redirectOptions)); _gaOptions = gaOptions?.Value ?? throw new ArgumentNullException(nameof(gaOptions)); }
public static void Redirect(string url, RedirectOptions options) { HttpContext context = HttpContext.Current; string absolutePath = ""; if (options == RedirectOptions.Relative) { context.Response.Redirect(url); return; } if (options == RedirectOptions.AbsoluteHttp) { absolutePath = GetAbsoluteUrl(url, ProtocolOptions.Http); } if (options == RedirectOptions.AbsoluteHttps) { absolutePath = GetAbsoluteUrl(url, ProtocolOptions.Https); } if (options == RedirectOptions.AbsoluteIisConfig) { throw new NotImplementedException(); } context.Response.Redirect(absolutePath); }
public void Redirect(Uri uri, RedirectOptions options) { if (options == RedirectOptions.Relative) { Application.Redirect(uri); return; } Uri absolutePath = null; if (options == RedirectOptions.AbsoluteHttp) { absolutePath = GetAbsoluteUri(uri, ProtocolOptions.Http); } if (options == RedirectOptions.AbsoluteHttps) { absolutePath = GetAbsoluteUri(uri, ProtocolOptions.Https); } Application.Redirect(absolutePath); }
public void SetOptions(RedirectOptions options) { Options = (int)options; }