2016-04-11 61 views
0

場景:我有一個現有的遺留應用程序,它有很多路線。我正在開發具有所有新路線的HAPI API。我會將所有現有的路線轉換爲hapi。如果傳入的路由與現有的HAPI路由不匹配,我會將它們轉發到傳統系統。檢查Hapi代理處理程序中的現有路線

在將轉發給其他遺留系統之前,如何檢查我的所有當前hapi路由以獲取傳入路由請求?任何一種例子,建議都是可觀的。

回答

1

這是一個很好用的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); 
    }); 
}); 

創建高致病性禽流感的路線,將請求轉發給另一個:

server.route({ 
    method: 'GET', 
    path: '/', 
    handler: { 
     proxy: { 
      uri: 'https://some.upstream.service.com/that/has?what=you&want=todo' 
     } 
    } 
}); 

您還可以添加更多complicated route handling如果你需要它。查看文檔。