检查 Hapi 代理处理程序中的现有路由
Check existing routes in Hapi proxy handlers
场景:我有一个现有的遗留应用程序,它有很多路由。我正在开发具有所有新路线的 HAPI API。随着时间的推移,我会将所有现有路线转换为 hapi。如果传入路由与现有 HAPI 路由不匹配,我会将其转发到遗留系统中。
在将传入路由请求转发到其他遗留系统之前,如何检查我所有当前的 hapi 路由?任何类型的例子,建议将是可观的。
这是 h2o2 插件的一个很好的用例。它是 hapi 的代理处理程序插件。
注册插件:
const Hapi = require('hapi');
const server = new Hapi.Server();
server.register({
register: require('h2o2')
}, function (err) {
if (err) {
console.log('Failed to load h2o2');
}
server.start(function (err) {
console.log('Server started at: ' + server.info.uri);
});
});
创建一个将请求转发给另一个的 hapi 路由:
server.route({
method: 'GET',
path: '/',
handler: {
proxy: {
uri: 'https://some.upstream.service.com/that/has?what=you&want=todo'
}
}
});
如果需要,您还可以添加更多 complicated route handling。查看文档。
场景:我有一个现有的遗留应用程序,它有很多路由。我正在开发具有所有新路线的 HAPI API。随着时间的推移,我会将所有现有路线转换为 hapi。如果传入路由与现有 HAPI 路由不匹配,我会将其转发到遗留系统中。
在将传入路由请求转发到其他遗留系统之前,如何检查我所有当前的 hapi 路由?任何类型的例子,建议将是可观的。
这是 h2o2 插件的一个很好的用例。它是 hapi 的代理处理程序插件。
注册插件:
const Hapi = require('hapi');
const server = new Hapi.Server();
server.register({
register: require('h2o2')
}, function (err) {
if (err) {
console.log('Failed to load h2o2');
}
server.start(function (err) {
console.log('Server started at: ' + server.info.uri);
});
});
创建一个将请求转发给另一个的 hapi 路由:
server.route({
method: 'GET',
path: '/',
handler: {
proxy: {
uri: 'https://some.upstream.service.com/that/has?what=you&want=todo'
}
}
});
如果需要,您还可以添加更多 complicated route handling。查看文档。