public static IAppBuilder UseExtensionlessUrls(this IAppBuilder builder, ExtensionlessUrlsOptions options)
        {
            if (builder == null)
            {
                throw new ArgumentNullException("builder");
            }

            return(builder.Use <ExtensionlessUrlsMiddleware>(options));
        }
        public static IAppBuilder UseExtensionlessUrls(this IAppBuilder builder, ExtensionlessUrlsOptions options)
        {
            if (builder == null)
            {
                throw new ArgumentNullException("builder");
            }

            return builder.Use<ExtensionlessUrlsMiddleware>(options);
        }
        public ExtensionlessUrlsMiddleware(AppFunc next, ExtensionlessUrlsOptions options)
        {
            if (next == null)
            {
                throw new ArgumentNullException(nameof(next));
            }
            if (options == null)
            {
                throw new ArgumentNullException(nameof(options));
            }
            if (options.FileSystem == null)
            {
                options.FileSystem = new PhysicalFileSystem(".");
            }
            options.DefaultExtensions =
                options.DefaultExtensions.Select(x => x.StartsWith(".") ? x : ("." + x)).ToList();

            _next    = next;
            _options = options;
        }
        public ExtensionlessUrlsMiddleware(AppFunc next, ExtensionlessUrlsOptions options)
        {
            if (next == null)
            {
                throw new ArgumentNullException("next");
            }
            if (options == null)
            {
                throw new ArgumentNullException("options");
            }
            if (options.FileSystem == null)
            {
                options.FileSystem = new PhysicalFileSystem(".");
            }
            options.DefaultExtensions =
                options.DefaultExtensions.Select(x => x.StartsWith(".") ? x : ("." + x)).ToList();

            _next = next;
            _options = options;
        }