- 服务器 Server
- server([options])
- Server options
- 服务器属性 Server properties
- server.auth.default(options)
- server.auth.scheme(name, scheme)
- server.auth.strategy(name, scheme, [options])
- await server.auth.test(strategy, request)
- await server.auth.verify(request)
- server.bind(context)
- server.cache(options)
- await server.cache.provision(options)
- server.control(server)
- server.decoder(encoding, decoder)
- server.decorate(type, property, method, [options])
- server.dependency(dependencies, [after])
- server.encoder(encoding, encoder)
- server.event(events)
- await server.events.emit(criteria, data)
- server.events.on(criteria, listener)
- server.events.once(criteria, listener)
- await server.events.once(criteria)
- server.expose(key, value)
- server.expose(obj)
- server.ext(events)
- server.ext(event, method, [options])
- await server.initialize()
- await server.inject(options)
- server.log(tags, [data, [timestamp]])
- server.lookup(id)
- server.match(method, path, [host])
- server.method(name, method, [options])
- server.method(methods)
- server.path(relativeTo)
- await server.register(plugins, [options])
- server.route(route)
- server.rules(processor, [options])
- await server.start()
- server.state(name, [options])
- server.states.add(name, [options])
- await server.states.format(cookies)
- await server.states.parse(header)
- await server.stop([options])
- server.table([host])
- Route options
- route.options.app
- route.options.auth
- route.options.bind
- route.options.cache
- route.options.compression
- route.options.cors
- route.options.description
- route.options.ext
- route.options.files
- route.options.handler
- route.options.id
- route.options.isInternal
- route.options.json
- route.options.jsonp
- route.options.log
- route.options.notes
- route.options.payload
- route.options.plugins
- route.options.pre
- route.options.response
- route.options.rules
- route.options.security
- route.options.state
- route.options.tags
- route.options.timeout
- route.options.validate
- Request lifecycle
- 请求
- 插件
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
server.decorate(type, property, method, [options])
使用自定义方法扩展各种框架接口,其中:
type
- 被装饰的接口。支持的类型:'handler'
- 添加一个新的处理程序类型,用于 routes handlers'request'
- 向 Request object 添加方法。'server'
- 将方法添加到 Server 对象。'toolkit'
- 将方法添加到 response toolkit .
property
- 对象修饰键名称或符号。method
- 扩展功能或其他值。options
- (可选) 支持以下可选设置:apply
- 当type
是'request'
时,如果true
,则使用签名function(request)
来调用method
函数,其中request
是当前的请求对象,返回的值被指定为 装饰。extend
- 如果是true
,则覆盖现有的装饰。method
必须是一个带有签名function(existing)` 的函数,其中:
existing
- 是先前设置的装饰方法值。- 必须返回新的装饰功能或值。
- 不能用于扩展处理程序的装饰。
返回值: none.
const Hapi = require('hapi'); const server = Hapi.server({ port: 80 }); const success = function () { return this.response({ status: 'ok' }); }; server.decorate('toolkit', 'success', success); server.route({ method: 'GET', path: '/', handler: function (request, h) { return h.success(); } });
注册处理程序装饰时, method
必须使用签名的函数 function(route, options)
其中:
route
- route information .options
- 处理程序配置中提供的配置对象。
const Hapi = require('hapi'); async function example() { const server = Hapi.server({ host: 'localhost', port: 8000 }); // Defines new handler for routes on this server const handler = function (route, options) { return function (request, h) { return 'new handler: ' + options.msg; } }; server.decorate('handler', 'test', handler); server.route({ method: 'GET', path: '/', handler: { test: { msg: 'test' } } }); await server.start(); }
method
函数可以有一个 defaults
对象或函数属性。 如果属性设置为对象,该对象用作使用此处理程序的路由的默认路由配置。 如果属性设置为函数,该函数使用签名 function(method)
并返回路由默认配置。
const Hapi = require('hapi'); const server = Hapi.server({ host: 'localhost', port: 8000 }); const handler = function (route, options) { return function (request, h) { return 'new handler: ' + options.msg; } }; // Change the default payload processing for this handler handler.defaults = { payload: { output: 'stream', parse: false } }; server.decorate('handler', 'test', handler);
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论