├── .eslintignore ├── .eslintrc.json ├── .github └── workflows │ └── npmpublish.yml ├── .gitignore ├── .npmignore ├── .npmrc ├── .travis.yml ├── CHANGELOG.md ├── CONTRIBUTING.md ├── CONTRIBUTORS.md ├── LICENSE.txt ├── README.md ├── example ├── .eslintrc.json ├── cli.sh ├── core.js ├── express.js └── public │ ├── beep │ └── index.html │ ├── hello.txt │ ├── subdir │ └── world.txt │ └── turtle.png ├── lib ├── bin.js ├── ecstatic.js └── ecstatic │ ├── aliases.json │ ├── defaults.json │ ├── etag.js │ ├── mime.js │ ├── opts.js │ ├── show-dir │ ├── icons.json │ ├── index.js │ ├── perms-to-string.js │ ├── size-to-string.js │ ├── sort-files.js │ └── styles.js │ └── status-handlers.js ├── package.json ├── scripts ├── build-icons.js └── get-icons.sh └── test ├── .eslintrc.json ├── 304.js ├── accept-encoding.js ├── cache.js ├── cli.js ├── compression.js ├── content-type.js ├── core-error.js ├── core.js ├── cors.js ├── custom-content-type.js ├── default-default-ext.js ├── enotdir.js ├── escaping.js ├── express-error.js ├── express.js ├── fixtures ├── common-cases-error.js └── common-cases.js ├── headers.js ├── html-reflection.js ├── illegal-access-date.js ├── malformed-dir.js ├── malformed.js ├── mime.js ├── process-env-port.js ├── public ├── 404.html ├── 404.html.gz ├── a.txt ├── another-subdir │ └── scripts.js ├── b.txt ├── brotli │ ├── fake_ecstatic │ ├── fake_ecstatic.br │ ├── index.html │ ├── index.html.br │ ├── index.html.gz │ ├── not_actually_brotli.br │ ├── real_ecstatic │ └── real_ecstatic.br ├── c.js ├── compress │ ├── foo.js │ ├── foo.js.gz │ └── foo_2.js ├── containsSymlink │ ├── more-problematic │ └── problematic ├── curimit@gmail.com (40%) │ └── index.html ├── custom_mime_type.opml ├── d.js ├── e.js ├── f_f ├── gzip │ ├── fake_ecstatic │ ├── fake_ecstatic.gz │ ├── index.html │ ├── index.html.gz │ ├── real_ecstatic │ └── real_ecstatic.gz ├── show-dir$$href_encoding$$ │ └── aname+aplus.txt ├── subdir │ ├── e.html │ └── index.html ├── subdir_with space │ ├── file_with space.html │ └── index.html └── 中文 │ └── 檔案.html ├── range.js ├── server-header.js ├── showdir-href-encoding.js ├── showdir-pathname-encoding.js ├── showdir-search-encoding.js ├── showdir-with-spaces.js └── trailing-slash.js /.eslintignore: -------------------------------------------------------------------------------- 1 | test/public/** 2 | -------------------------------------------------------------------------------- /.eslintrc.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfhbrook/node-ecstatic/HEAD/.eslintrc.json -------------------------------------------------------------------------------- /.github/workflows/npmpublish.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfhbrook/node-ecstatic/HEAD/.github/workflows/npmpublish.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfhbrook/node-ecstatic/HEAD/.gitignore -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfhbrook/node-ecstatic/HEAD/.npmignore -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfhbrook/node-ecstatic/HEAD/.npmrc -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfhbrook/node-ecstatic/HEAD/.travis.yml -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfhbrook/node-ecstatic/HEAD/CHANGELOG.md -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfhbrook/node-ecstatic/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /CONTRIBUTORS.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfhbrook/node-ecstatic/HEAD/CONTRIBUTORS.md -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfhbrook/node-ecstatic/HEAD/LICENSE.txt -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfhbrook/node-ecstatic/HEAD/README.md -------------------------------------------------------------------------------- /example/.eslintrc.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfhbrook/node-ecstatic/HEAD/example/.eslintrc.json -------------------------------------------------------------------------------- /example/cli.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | ../lib/ecstatic.js ./public --port 8080 4 | 5 | -------------------------------------------------------------------------------- /example/core.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfhbrook/node-ecstatic/HEAD/example/core.js -------------------------------------------------------------------------------- /example/express.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfhbrook/node-ecstatic/HEAD/example/express.js -------------------------------------------------------------------------------- /example/public/beep/index.html: -------------------------------------------------------------------------------- 1 | boop! 2 | -------------------------------------------------------------------------------- /example/public/hello.txt: -------------------------------------------------------------------------------- 1 | Hello world! 2 | -------------------------------------------------------------------------------- /example/public/subdir/world.txt: -------------------------------------------------------------------------------- 1 | hello cruel world! 2 | -------------------------------------------------------------------------------- /example/public/turtle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfhbrook/node-ecstatic/HEAD/example/public/turtle.png -------------------------------------------------------------------------------- /lib/bin.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfhbrook/node-ecstatic/HEAD/lib/bin.js -------------------------------------------------------------------------------- /lib/ecstatic.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfhbrook/node-ecstatic/HEAD/lib/ecstatic.js -------------------------------------------------------------------------------- /lib/ecstatic/aliases.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfhbrook/node-ecstatic/HEAD/lib/ecstatic/aliases.json -------------------------------------------------------------------------------- /lib/ecstatic/defaults.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfhbrook/node-ecstatic/HEAD/lib/ecstatic/defaults.json -------------------------------------------------------------------------------- /lib/ecstatic/etag.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfhbrook/node-ecstatic/HEAD/lib/ecstatic/etag.js -------------------------------------------------------------------------------- /lib/ecstatic/mime.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfhbrook/node-ecstatic/HEAD/lib/ecstatic/mime.js -------------------------------------------------------------------------------- /lib/ecstatic/opts.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfhbrook/node-ecstatic/HEAD/lib/ecstatic/opts.js -------------------------------------------------------------------------------- /lib/ecstatic/show-dir/icons.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfhbrook/node-ecstatic/HEAD/lib/ecstatic/show-dir/icons.json -------------------------------------------------------------------------------- /lib/ecstatic/show-dir/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfhbrook/node-ecstatic/HEAD/lib/ecstatic/show-dir/index.js -------------------------------------------------------------------------------- /lib/ecstatic/show-dir/perms-to-string.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfhbrook/node-ecstatic/HEAD/lib/ecstatic/show-dir/perms-to-string.js -------------------------------------------------------------------------------- /lib/ecstatic/show-dir/size-to-string.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfhbrook/node-ecstatic/HEAD/lib/ecstatic/show-dir/size-to-string.js -------------------------------------------------------------------------------- /lib/ecstatic/show-dir/sort-files.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfhbrook/node-ecstatic/HEAD/lib/ecstatic/show-dir/sort-files.js -------------------------------------------------------------------------------- /lib/ecstatic/show-dir/styles.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfhbrook/node-ecstatic/HEAD/lib/ecstatic/show-dir/styles.js -------------------------------------------------------------------------------- /lib/ecstatic/status-handlers.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfhbrook/node-ecstatic/HEAD/lib/ecstatic/status-handlers.js -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfhbrook/node-ecstatic/HEAD/package.json -------------------------------------------------------------------------------- /scripts/build-icons.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfhbrook/node-ecstatic/HEAD/scripts/build-icons.js -------------------------------------------------------------------------------- /scripts/get-icons.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfhbrook/node-ecstatic/HEAD/scripts/get-icons.sh -------------------------------------------------------------------------------- /test/.eslintrc.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfhbrook/node-ecstatic/HEAD/test/.eslintrc.json -------------------------------------------------------------------------------- /test/304.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfhbrook/node-ecstatic/HEAD/test/304.js -------------------------------------------------------------------------------- /test/accept-encoding.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfhbrook/node-ecstatic/HEAD/test/accept-encoding.js -------------------------------------------------------------------------------- /test/cache.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfhbrook/node-ecstatic/HEAD/test/cache.js -------------------------------------------------------------------------------- /test/cli.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfhbrook/node-ecstatic/HEAD/test/cli.js -------------------------------------------------------------------------------- /test/compression.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfhbrook/node-ecstatic/HEAD/test/compression.js -------------------------------------------------------------------------------- /test/content-type.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfhbrook/node-ecstatic/HEAD/test/content-type.js -------------------------------------------------------------------------------- /test/core-error.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfhbrook/node-ecstatic/HEAD/test/core-error.js -------------------------------------------------------------------------------- /test/core.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfhbrook/node-ecstatic/HEAD/test/core.js -------------------------------------------------------------------------------- /test/cors.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfhbrook/node-ecstatic/HEAD/test/cors.js -------------------------------------------------------------------------------- /test/custom-content-type.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfhbrook/node-ecstatic/HEAD/test/custom-content-type.js -------------------------------------------------------------------------------- /test/default-default-ext.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfhbrook/node-ecstatic/HEAD/test/default-default-ext.js -------------------------------------------------------------------------------- /test/enotdir.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfhbrook/node-ecstatic/HEAD/test/enotdir.js -------------------------------------------------------------------------------- /test/escaping.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfhbrook/node-ecstatic/HEAD/test/escaping.js -------------------------------------------------------------------------------- /test/express-error.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfhbrook/node-ecstatic/HEAD/test/express-error.js -------------------------------------------------------------------------------- /test/express.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfhbrook/node-ecstatic/HEAD/test/express.js -------------------------------------------------------------------------------- /test/fixtures/common-cases-error.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfhbrook/node-ecstatic/HEAD/test/fixtures/common-cases-error.js -------------------------------------------------------------------------------- /test/fixtures/common-cases.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfhbrook/node-ecstatic/HEAD/test/fixtures/common-cases.js -------------------------------------------------------------------------------- /test/headers.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfhbrook/node-ecstatic/HEAD/test/headers.js -------------------------------------------------------------------------------- /test/html-reflection.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfhbrook/node-ecstatic/HEAD/test/html-reflection.js -------------------------------------------------------------------------------- /test/illegal-access-date.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfhbrook/node-ecstatic/HEAD/test/illegal-access-date.js -------------------------------------------------------------------------------- /test/malformed-dir.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfhbrook/node-ecstatic/HEAD/test/malformed-dir.js -------------------------------------------------------------------------------- /test/malformed.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfhbrook/node-ecstatic/HEAD/test/malformed.js -------------------------------------------------------------------------------- /test/mime.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfhbrook/node-ecstatic/HEAD/test/mime.js -------------------------------------------------------------------------------- /test/process-env-port.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jfhbrook/node-ecstatic/HEAD/test/process-env-port.js -------------------------------------------------------------------------------- /test/public/404.html: -------------------------------------------------------------------------------- 1 |