2016-04-11 28 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); 
    }); 
}); 

は、別の要求を転送しますHAPIのルートを作成します。

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

あなたがそれを必要とする場合にもcomplicated route handling以上を追加することができます。ドキュメントをチェックしてください。

関連する問題