server.register(require('inert'), (err) => { if (err) { throw err; } server.route({ method: 'GET', path: '/', handler: function(request, reply) { return reply.file('./public/index.html'); } }); });
server.route({ path: '/', method: 'GET', handler: function (request, reply) { reply.redirect('/examples'); } });
server.ext('onPreResponse', (request, reply) => { if (request.response.isBoom && request.response.output.statusCode === 404) { // use index.html as fallback in case of 404 errors (esp to enable React Router with BrowserHistory) // (something like Webpack Devserver's --history-api-fallback option) return reply.file(path.join(__dirname, 'public/index.html')); } return reply.continue(); });
async handler(request: Request, h: ResponseToolkit) { return h.response(renderPlaygroundPage(this.config)).type('text/html'); }
/** * Attempt to serve static requests from the public folder. */ server.route({ method: "*", path: "/{params*}", handler: (request, reply) => { reply.file("static" + request.path); } });
server.ext('onPreResponse', (request, reply) => { if (request.response.isBoom) { if (request.headers.accept) { if (request.headers.accept.indexOf('application/json') === -1) { const err = request.response const errName = err.output.payload.error const statusCode = err.output.payload.statusCode if (statusCode === 401) { return reply.redirect('/login') } return reply.view('error', { statusCode: statusCode, errName: errName }).code(statusCode) } } } reply.continue() })
path: '/journal/{journal}/new', handler: function(request, reply){ reply.view('index', { config: _.extend({}, Config, {dairyName: request.params["journal"]}) })
return reply.view('404', { url: request.url.path }); return reply.continue(); });
reply.view('index', data)
method: 'GET', path: '/example', handler: (request, h) => h.response({ok: true}), config: { plugins: {
async handler(request: Request, h: ResponseToolkit) { return h.response(renderPlaygroundPage(this.config)).type('text/html'); }