node-http-server – Diff between revs 15 and 16
?pathlinks?
Rev 15 | Rev 16 | |||
---|---|---|---|---|
Line 48... | Line 48... | |||
48 | }); |
48 | }); |
|
49 | } |
49 | } |
|
Line 50... | Line 50... | |||
50 | |
50 | |
|
51 | // Serves a directory listing or the document index in case it exists. |
51 | // Serves a directory listing or the document index in case it exists. |
|
- | 52 | function index(config, request, response, resource, root, callback) { |
||
52 | function index(config, request, response, resource, root, callback) { |
53 | const root = path.resolve(resource, config.site.index); |
|
53 | fs.stat(root, (error, stats) => { |
54 | fs.stat(root, (error, stats) => { |
|
- | 55 | if (error && config.site.indexing |
||
54 | if (error) { |
56 | .some((directory) => directory.toUpperCase() == resource.toUpperCase())) { |
|
55 | fs.readdir(resource, (error, paths) => { |
57 | fs.readdir(resource, (error, paths) => { |
|
56 | if (error) { |
58 | if (error) { |
|
57 | process.nextTick(() => { |
59 | process.nextTick(() => { |
|
58 | callback('Could not list directory: ' + |
60 | callback('Could not list directory: ' + |
|
Line 122... | Line 124... | |||
122 | return; |
124 | return; |
|
123 | } |
125 | } |
|
Line 124... | Line 126... | |||
124 | |
126 | |
|
125 | switch (stats.isDirectory()) { |
127 | switch (stats.isDirectory()) { |
|
126 | case true: // Directory is requested so provide directory indexes. |
128 | case true: // Directory is requested so provide directory indexes. |
|
127 | index(config, request, response, resource, path.resolve(resource, config.site.index), callback) |
129 | index(config, request, response, resource, callback); |
|
128 | break; |
130 | break; |
|
129 | default: // Browser requesting file. |
131 | default: // Browser requesting file. |
|
130 | files(config, request, response, resource, callback); |
132 | files(config, request, response, resource, callback); |
|
131 | break; |
133 | break; |