mirror of
https://github.com/tenrok/axios.git
synced 2026-06-20 20:00:40 +03:00
fix: issues with version 1.13.3 (#7352)
This commit is contained in:
@@ -30,12 +30,3 @@ jobs:
|
|||||||
run: npm publish --provenance --access public
|
run: npm publish --provenance --access public
|
||||||
env:
|
env:
|
||||||
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
||||||
- name: Create release tag on GitHub
|
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
TAG: ${{ github.ref_name }}
|
|
||||||
run: |
|
|
||||||
gh release create "$TAG" \
|
|
||||||
--repo="$GITHUB_REPOSITORY" \
|
|
||||||
--title="${GITHUB_REPOSITORY#*/} ${TAG#v}" \
|
|
||||||
--generate-notes
|
|
||||||
|
|||||||
@@ -35,18 +35,27 @@ jobs:
|
|||||||
cache: npm
|
cache: npm
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: npm ci
|
run: npm ci
|
||||||
- name: Bump version
|
- name: Configure git identity
|
||||||
id: bump_version
|
run: |
|
||||||
uses: phips28/gh-action-bump-version@v9
|
git config --global user.name "github-actions[bot]"
|
||||||
|
git config --global user.email "github-actions[bot]@users.noreply.github.com"
|
||||||
|
- name: Bump version with NPM version
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
with:
|
id: bump-version
|
||||||
version-type: ${{ github.event.inputs.type }}
|
run: |
|
||||||
default: ${{ github.event.inputs.beta == true && 'prerelease' || 'patch' }}
|
TYPE=${{ github.event.inputs.type }}
|
||||||
commit-message: "chore(release): prepare release {{version}}"
|
BETA=${{ github.event.inputs.beta }}
|
||||||
tag-prefix: "v"
|
if [ "$TYPE" = "auto" ]; then
|
||||||
skip-tag: true
|
npm version $(npm version | grep -Eo 'patch|minor|major' | head -1)
|
||||||
skip-push: true
|
else
|
||||||
|
if [ "$BETA" = "true" ]; then
|
||||||
|
npm version $TYPE --preid=beta
|
||||||
|
else
|
||||||
|
npm version $TYPE
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
echo "::set-output name=newTag::$(node -p "require('./package.json').version")"
|
||||||
- name: Build project
|
- name: Build project
|
||||||
run: npm run build
|
run: npm run build
|
||||||
- name: Run unit tests
|
- name: Run unit tests
|
||||||
@@ -56,14 +65,12 @@ jobs:
|
|||||||
- name: Run browser tests
|
- name: Run browser tests
|
||||||
run: npm run test:browser
|
run: npm run test:browser
|
||||||
- name: Create Pull Request
|
- name: Create Pull Request
|
||||||
uses: peter-evans/create-pull-request@v7
|
uses: peter-evans/create-pull-request@v8
|
||||||
with:
|
with:
|
||||||
token: ${{ secrets.GITHUB_TOKEN }}
|
branch: "release"
|
||||||
commit-message: "chore(release): prepare release ${{ steps.bump_version.outputs.newTag }}"
|
commit-message: "chore(release): prepare release ${{ steps.bump-version.outputs.newTag }}"
|
||||||
branch: "release/${{ steps.bump_version.outputs.newTag }}"
|
body: "This PR prepares the release ${{ steps.bump-version.outputs.newTag }}."
|
||||||
title: "chore(release): prepare release ${{ steps.bump_version.outputs.newTag }}"
|
title: "chore(release): prepare release ${{ steps.bump-version.outputs.newTag }}"
|
||||||
body: "This PR prepares the release ${{ steps.bump_version.outputs.newTag }}."
|
|
||||||
base: main
|
|
||||||
maintainer-can-modify: true
|
maintainer-can-modify: true
|
||||||
draft: false
|
draft: false
|
||||||
labels: |
|
labels: |
|
||||||
|
|||||||
@@ -46,7 +46,7 @@ jobs:
|
|||||||
echo "$CONTENT"
|
echo "$CONTENT"
|
||||||
if: steps.sponsors-requires-update.outputs.changed == 'true'
|
if: steps.sponsors-requires-update.outputs.changed == 'true'
|
||||||
- name: Create pull request
|
- name: Create pull request
|
||||||
uses: peter-evans/create-pull-request@v7
|
uses: peter-evans/create-pull-request@v8
|
||||||
with:
|
with:
|
||||||
branch: sponsors
|
branch: sponsors
|
||||||
delete-branch: true
|
delete-branch: true
|
||||||
|
|||||||
+2
-7
@@ -159,13 +159,8 @@ class Axios {
|
|||||||
|
|
||||||
promise = Promise.resolve(config);
|
promise = Promise.resolve(config);
|
||||||
|
|
||||||
let prevResult = config;
|
|
||||||
while (i < len) {
|
while (i < len) {
|
||||||
promise = promise
|
promise = promise.then(chain[i++], chain[i++]);
|
||||||
.then(chain[i++])
|
|
||||||
.then(result => { prevResult = result !== undefined ? result : prevResult })
|
|
||||||
.catch(chain[i++])
|
|
||||||
.then(() => prevResult);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return promise;
|
return promise;
|
||||||
@@ -196,7 +191,7 @@ class Axios {
|
|||||||
len = responseInterceptorChain.length;
|
len = responseInterceptorChain.length;
|
||||||
|
|
||||||
while (i < len) {
|
while (i < len) {
|
||||||
promise = promise.then(responseInterceptorChain[i++]).catch(responseInterceptorChain[i++]);
|
promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);
|
||||||
}
|
}
|
||||||
|
|
||||||
return promise;
|
return promise;
|
||||||
|
|||||||
@@ -599,77 +599,4 @@ describe('interceptors', function () {
|
|||||||
|
|
||||||
expect(instance.interceptors.response.handlers.length).toBe(0);
|
expect(instance.interceptors.response.handlers.length).toBe(0);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should handler the error in the same request interceptors', function (done) {
|
|
||||||
const rejectedSpy1 = jasmine.createSpy('rejectedSpy1');
|
|
||||||
const rejectedSpy2 = jasmine.createSpy('rejectedSpy2');
|
|
||||||
const error1 = new Error('deadly error 1');
|
|
||||||
const error2 = new Error('deadly error 2');
|
|
||||||
axios.interceptors.request.use(function () {
|
|
||||||
throw error1;
|
|
||||||
}, rejectedSpy1);
|
|
||||||
|
|
||||||
axios.interceptors.request.use(function () {
|
|
||||||
throw error2;
|
|
||||||
}, rejectedSpy2);
|
|
||||||
|
|
||||||
axios('/foo').catch();
|
|
||||||
|
|
||||||
getAjaxRequest().then(function () {
|
|
||||||
expect(rejectedSpy1).toHaveBeenCalledWith(error1);
|
|
||||||
expect(rejectedSpy2).toHaveBeenCalledWith(error2);
|
|
||||||
done();
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
it('should handle the error in the same response interceptors', function (done) {
|
|
||||||
const rejectedSpy1 = jasmine.createSpy('rejectedSpy1');
|
|
||||||
const rejectedSpy2 = jasmine.createSpy('rejectedSpy2');
|
|
||||||
const error1 = new Error('deadly error 1');
|
|
||||||
const error2 = new Error('deadly error 2');
|
|
||||||
axios.interceptors.response.use(function () {
|
|
||||||
throw error1;
|
|
||||||
}, rejectedSpy1);
|
|
||||||
|
|
||||||
axios.interceptors.response.use(function () {
|
|
||||||
throw error2;
|
|
||||||
}, rejectedSpy2);
|
|
||||||
|
|
||||||
axios('/foo');
|
|
||||||
|
|
||||||
getAjaxRequest().then(function (request) {
|
|
||||||
request.respondWith({
|
|
||||||
status: 200,
|
|
||||||
responseText: 'OK'
|
|
||||||
});
|
|
||||||
|
|
||||||
setTimeout(function () {
|
|
||||||
expect(rejectedSpy1).toHaveBeenCalledWith(error1);
|
|
||||||
expect(rejectedSpy2).toHaveBeenCalledWith(error2);
|
|
||||||
done();
|
|
||||||
}, 100);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
it('should skip the modification of config in the interceptors throwing error', function (done) {
|
|
||||||
const rejectedSpy = jasmine.createSpy('rejectedSpy');
|
|
||||||
const error = new Error('deadly error');
|
|
||||||
|
|
||||||
axios.interceptors.request.use(function (config) {
|
|
||||||
config.headers.test = 'added by interceptor';
|
|
||||||
return config;
|
|
||||||
});
|
|
||||||
|
|
||||||
axios.interceptors.request.use(function () {
|
|
||||||
throw error;
|
|
||||||
}, rejectedSpy);
|
|
||||||
|
|
||||||
axios('/foo').catch();
|
|
||||||
|
|
||||||
getAjaxRequest().then(function (request) {
|
|
||||||
expect(rejectedSpy).toHaveBeenCalledWith(error);
|
|
||||||
expect(request.requestHeaders.test).toBe('added by interceptor');
|
|
||||||
done();
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user