problem:Ember CLI z pełnomocnictw wielokrotnych
Mam aplikacji CLI Ember że pochłonie wiele interfejsów API, które muszą pełnomocnika w trybie rozwoju.
Tło:
Mam starszego API, które odsłania usług na /api
działa na moim komputerze lokalnym rozwoju na localhost:3000
mam nowego API, które odsłania usług na /myapp/api/v1
. Usługi te zostały niedawno wyodrębnione ze starszej aplikacji i obejmują większość usług aplikacji używanych przez aplikację ember.
Aplikacja ember wykorzystuje bazę danych o numerze /myapp
, ponieważ jest wdrażana w podkatalogu.
Wygenerowałem dwa proksy http za pomocą ember generate http-proxy
. Znajdują się one na /server/proxies/api.js
i server/proxies/myapp/api/v1.js
api.js
var proxyPath = '/api';
module.exports = function(app) {
var proxy = require('http-proxy').createProxyServer({});
proxy.on('error', function(err, req) {
console.error(err, req.url);
});
app.use(proxyPath, function(req, res, next){
// include root path in proxied request
req.url = proxyPath + '/' + req.url;
proxy.web(req, res, { target: 'http://localhost:3000' });
});
};
myapp/api/v1.js
var proxyPath = 'myapp/api/v1';
module.exports = function(app) {
var proxy = require('http-proxy').createProxyServer({});
proxy.on('error', function(err, req) {
console.error(err, req.url);
});
app.use(proxyPath, function(req, res, next){
req.url = proxyPath + '/' + req.url;
proxy.web(req, res, { target: 'http://localhost:4100' });
});
};
Pierwszy proxy, aby/API, wydaje się działać, drugi API, to/myapp/api/v1/cokolwiek zawiedzie.
Nie wydaje się być używane lub rozważone. Po uruchomieniu, na przykład POST do myapp/api/v1/sessions, po prostu nie można POST. Kiedy umieszczam debugger na funkcjach proxy.on i app.use, nigdy nie zostaną one trafione.
Gdzie ja się tu mylę?
FYI, nie dodawać nagrodę, więc to będzie aż do @Asherlc przyznać jej :) – DVG