2016-04-11 21 views
0

Senaryo: Birçok yol içeren eski bir eski uygulamam var. Tüm yeni rotaları olan HAPI API geliştiriyorum. Varolan tüm rotaları zaman içinde hapi'ye dönüştüreceğim. Gelen rota mevcut HAPI rotalarıyla eşleşmiyorsa, bunları eski sisteme yönlendireceğim.Hapi proxy işleyicilerinde var olan rotaları gözden geçirin

Gelen rota talebim için mevcut tüm geçerli rotalarımı diğer eski sistemlere iletmeden önce nasıl denetleyebilirim? Her türlü örnek, tavsiye verilebilir.

cevap

1

Bu, h2o2 eklentisi için iyi bir kullanım örneğidir. Bu hapi için bir proxy işleyici eklentisi.

Kayıt eklentisi:

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); 
    }); 
}); 

diğerine isteklerini iletecek bir hapi rotayı oluşturun: İhtiyacınız olduğunda

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

Ayrıca complicated route handling daha ekleyebilirsiniz. Belgelere göz atın.