@amsom-habitat/axios-overlay
v1.0.10
Published
Wrapper intelligent autour d'Axios pour centraliser la gestion de l'authentification, du refresh automatique de token et des erreurs HTTP.
Readme
AMSOM AxiosOverlay
Wrapper intelligent autour d'Axios pour centraliser la gestion de l'authentification, du refresh automatique de token et des erreurs HTTP.
Installation
npm i @amsom-habitat/axios-overlayUtilisation de base
import axiosOverlay from '@amsom-habitat/axios-overlay'
const response = await axiosOverlay({
url: 'https://api.example.com/data',
method: 'GET'
})Configuration
Le package accepte une configuration optionnelle en second paramètre :
const config = {
mustBeAuthenticated: true, // Ajoute le header Authorization
retry: true, // Retry automatique sur code 449
allowRedirect: true, // Permet la redirection vers login
bonusHeader: {}, // Headers supplémentaires
functions: {
getToken: () => localStorage.getItem('token'),
setToken: (token) => localStorage.setItem('token', token),
logout: () => localStorage.removeItem('token'),
setHeaders: (instance) => {
instance.defaults.headers.common['Accept'] = 'application/json'
return instance
},
errorsConfig: {},
errorsHandlers: {
default: ({error, reject}) => reject(error)
}
}
}
await axiosOverlay({ url: '/api/data', method: 'GET' }, config)Fonctionnalités
Refresh automatique de token (code 449)
Le package gère automatiquement le refresh du token et relance la requête.
Gestion des erreurs 401/498
- Appelle automatiquement
logout() - Arrête les requêtes en cours avec
window.stop() - Configurable via
errorsConfig[401].dontLogoutetdontStopAll
Headers personnalisés
Ordre d'application : setHeaders() → Authorization → bonusHeader
Utilisation recommandée
Créez un connector dans votre application (voir CONNECTOR_EXAMPLE.md).
Développement
Après vos modifications :
- Mettre à jour changelog.md
- Mettre à jour la version dans package.json
- Commit et push
Déploiement
make publish