public static RewriteOptions AddRedirectorRoles(this RewriteOptions RewriteOptions, Action <RedirectorOptions> configureOptions) { var options = new RedirectorOptions(); configureOptions(options); return(RewriteOptions.AddRedirectorRoles(options)); }
private static RewriteOptions AddRedirectorRoles(this RewriteOptions RewriteOptions, RedirectorOptions options) { var statusCode = options.RedirectStatusCode; if (options.ForceHttps) { RewriteOptions.AddRedirectToHttps(); } if (options.ForceLowercaseUrls || options.TrailingSlash != TrailingSlashAction.NoAction) { RewriteOptions.AddCanonicalUrl(statusCode, options.ForceLowercaseUrls, options.TrailingSlash); } switch (options.WwwMode) { case WwwModeAction.NoAction: break; case WwwModeAction.ForceToWww: RewriteOptions.AddRedirectToWww(statusCode); break; case WwwModeAction.ForceToNonWww: RewriteOptions.AddRedirectToNonWww(statusCode); break; default: throw new InvalidEnumArgumentException(nameof(options.WwwMode), (int)options.WwwMode, options.WwwMode.GetType()); } return(RewriteOptions); }