Comments (4)
Can I help with this? I'm using js-data and I need this working for my authentication to work :-)
from axios.
👍
from axios.
Here's a couple approaches for the API that might work:
// 1) This style follows Angular's $http service
axios.interceptors.push({
request: function (config) {},
requestError: function (rejection) {},
response: function (response) {},
responseError: function (rejection) {}
});
// 2) This style follows express middleware
axios.interceptors.request.use(function (config) {}, function (rejection) {});
axios.interceptors.response.use(function (config) {}, function (rejection) {});
The first option has the benefit of familiarity for those coming from Angular. That said it is not enough to mimic an API based on familiarity, especially if it's not a good API. As @jmdobry mentioned offline, "pushing stuff into some random array [is] kinda dumb". I agree that arbitrarily pushing some config object onto an array is less than ideal.
The second option allows for simplicity by just passing in a function, and axios knowing if the function is to be used for request, or response. It is a little uglier to only specify a requestError
handler for example, since you have to provide a null value for the request
handler:
axios.interceptors.request.use(null, function (rejection) {});
A third option could be to do a hybrid of the two. Expose an API that supports the second option, but under the hood it just creates what option one is doing. This would allow for both options to be supported.
from axios.
Closed with #27
from axios.
Related Issues (20)
- 0.28 changes params in GET request HOT 2
- whether to use the Fetch API or XHR based on browser support(根据浏览器是否支持fetch API 优先使用fetch来实现请求)
- An error occurred when using the system proxy environment in Linux
- Unable to get the value of Content-Type
- Axios Preventing Constant Contact from running checklist
- Axios request automatically fired a second time after a delay HOT 3
- Axios sends boundary text even when form data is empty HOT 3
- Progress event does not have lengthComputable property
- test cases fails when the interceptor header exceeds 10 characters
- Form data key of "x-amz-security-token" changes from string key to object {x: { amz: {security: { token: <value> } } } }
- What is the correct version guide of Axios? HOT 2
- SSRF Vulnerability Arising from Axios URL Parsing HOT 3
- Why is the headers attribute of InternalAxiosRequestConfig mandatory?
- Security Vulnerability from follow-redirects HOT 1
- axios V0.28.0 Uncaught ReferenceError: req is not defined at AbortSignal.onCanceled HOT 8
- Network Error in React Native HOT 7
- Axios lib gets detected as a trojan HOT 3
- Can't find variable: axios error thrown on older browser (since v.1.6.8) HOT 1
- Invalid package attestation - 1.6.8 HOT 4
- Axios calculating wrong Content-Length HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from axios.