diff --git a/lib/index.js b/lib/index.js index 28deb24..326a56a 100755 --- a/lib/index.js +++ b/lib/index.js @@ -17,31 +17,31 @@ const internals = { }; -exports.register = function (server, options) { +exports.plugin = { + pkg: require('../package.json'), + once: true, - const settings = Hoek.applyToDefaults(internals.defaults, options); + register: function (server, options) { - server.expose('_etags', settings.etagsCacheMaxSize ? new Etag.Cache(settings.etagsCacheMaxSize) : null); + const settings = Hoek.applyToDefaults(internals.defaults, options); - server.decorate('handler', 'file', File.handler); - server.decorate('handler', 'directory', Directory.handler); - server.decorate('toolkit', 'file', function (path, responseOptions) { + server.expose('_etags', settings.etagsCacheMaxSize ? new Etag.Cache(settings.etagsCacheMaxSize) : null); - // Set correct confine value + server.decorate('handler', 'file', File.handler); + server.decorate('handler', 'directory', Directory.handler); + server.decorate('toolkit', 'file', function (path, responseOptions) { - responseOptions = responseOptions || {}; + // Set correct confine value - if (typeof responseOptions.confine === 'undefined' || responseOptions.confine === true) { - responseOptions.confine = '.'; - } + responseOptions = responseOptions || {}; - Hoek.assert(responseOptions.end === undefined || +responseOptions.start <= +responseOptions.end, 'options.start must be less than or equal to options.end'); + if (typeof responseOptions.confine === 'undefined' || responseOptions.confine === true) { + responseOptions.confine = '.'; + } - return this.response(File.response(path, responseOptions, this.request)); - }); -}; + Hoek.assert(responseOptions.end === undefined || +responseOptions.start <= +responseOptions.end, 'options.start must be less than or equal to options.end'); -exports.register.attributes = { - pkg: require('../package.json'), - once: true + return this.response(File.response(path, responseOptions, this.request)); + }); + } }; diff --git a/package.json b/package.json index 7ebee1e..c658f30 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "inert", "description": "Static file and directory handlers plugin for hapi.js", - "version": "5.0.0-rc7", + "version": "5.0.0-rc8", "repository": "https://github.com/hapijs/inert.git", "main": "lib/index.js", "keywords": [ @@ -15,7 +15,7 @@ "node": ">=8.0.0" }, "peerDependencies": { - "hapi": "17.0.0-rc7" + "hapi": "17.0.0-rc8" }, "dependencies": { "ammo": "3.x.x", @@ -26,7 +26,7 @@ }, "devDependencies": { "code": "5.x.x", - "hapi": "17.0.0-rc7", + "hapi": "17.0.0-rc8", "lab": "14.x.x" }, "scripts": { diff --git a/test/directory.js b/test/directory.js index 4110fec..b002987 100755 --- a/test/directory.js +++ b/test/directory.js @@ -536,18 +536,18 @@ describe('directory', () => { it('resolves path name from plugin using specified path', async () => { - const plugin = (server, options) => { + const plugin = { + register: (server, options) => { - server.path(__dirname); - server.route({ method: 'GET', path: '/test/{path*}', config: { handler: { directory: { path: Path.join('.', 'directory'), index: false, listing: false } } } }); - }; - plugin.attributes = { + server.path(__dirname); + server.route({ method: 'GET', path: '/test/{path*}', config: { handler: { directory: { path: Path.join('.', 'directory'), index: false, listing: false } } } }); + }, name: 'directory test', version: '1.0' }; const server = await provisionServer({ router: { stripTrailingSlash: false } }); - server.register({ register: plugin }, {}, () => { }); + await server.register(plugin); const res = await server.inject('/test/index.html'); expect(res.statusCode).to.equal(200); @@ -555,17 +555,17 @@ describe('directory', () => { it('resolves path name from plugin using relative path', async () => { - const plugin = (server, options) => { + const plugin = { + register: (server, options) => { - server.route({ method: 'GET', path: '/test/{path*}', config: { handler: { directory: { path: Path.join('.', 'test', 'directory'), index: false, listing: false } } } }); - }; - plugin.attributes = { + server.route({ method: 'GET', path: '/test/{path*}', config: { handler: { directory: { path: Path.join('.', 'test', 'directory'), index: false, listing: false } } } }); + }, name: 'directory test', version: '1.0' }; const server = await provisionServer({ router: { stripTrailingSlash: false } }); - server.register({ register: plugin }, {}, () => { }); + await server.register(plugin); const res = await server.inject('/test/index.html'); expect(res.statusCode).to.equal(200); diff --git a/test/file.js b/test/file.js index dcfb968..860025f 100755 --- a/test/file.js +++ b/test/file.js @@ -37,7 +37,7 @@ describe('file', () => { const defaults = { compression: { minBytes: 1 } }; const server = new Hapi.Server(Hoek.applyToDefaults(defaults, options || {})); - await server.register(etagsCacheMaxSize !== undefined ? { register: Inert, options: { etagsCacheMaxSize } } : Inert); + await server.register(etagsCacheMaxSize !== undefined ? { plugin: Inert, options: { etagsCacheMaxSize } } : Inert); return server; };