J'utilise: Axios: 0.17.1 Node: 8.0.0
Le nœud standard suivant get fonctionne correctement, mais pas la version Axios. Des idées pourquoi?
Node http:
http
.get(`${someUrl}`, response => {
buildResponse(response).then(results => res.send(results));
})
.on('error', e => {
console.error(`Got error: ${e.message}`);
});
Axios:
axios
.get(`${someUrl}`)
.then(function(response) {
buildResponse(response).then(results => res.send(results));
})
.catch(function(error) {
handleError(error, res);
});
Je viens d'avoir un 503 en attente, avec "Demande échouée avec le code d'état 503"
Il semble que vous puissiez transmettre les détails du proxy à Axios FYI.
De la docs ...
// 'proxy' defines the hostname and port of the proxy server
// Use `false` to disable proxies, ignoring environment variables.
// `auth` indicates that HTTP Basic auth should be used to connect to the proxy, and
// supplies credentials.
// This will set an `Proxy-Authorization` header, overwriting any existing
// `Proxy-Authorization` custom headers you have set using `headers`.
proxy: {
Host: '127.0.0.1',
port: 9000,
auth: {
username: 'mikeymike',
password: 'rapunz3l'
}
},
La seule chose qui a fonctionné pour moi a été de désactiver le proxy:
delete process.env['http_proxy'];
delete process.env['HTTP_PROXY'];
delete process.env['https_proxy'];
delete process.env['HTTPS_PROXY'];
De: Socket raccrocher lors de l’utilisation de axios.get, mais pas lors de l’utilisation de https.get
Je pense que vous pourriez avoir oublié de retourner la réponse axios.
return axios
.get(`${someUrl}`)
.then(function(response) {
return buildResponse(response).then(results => res.send(results));
})
.catch(function(error) {
handleError(error, res);
});
Avis return avant axios.get et avant buildResponse
utilisez la propriété withCredentials
dans votre request config
qui résoudra votre problème.
axios
.get(`${someUrl}`, { withCredentials: true })
.then(function(response) {
return buildResponse(response).then(results => res.send(results));
})
.catch(function(error) {
handleError(error, res);
});