Skip to content

Commit 6159fcb

Browse files
committed
Update axios version to 1.6.4 and fix Content-Type header issue
1 parent 7cd17d4 commit 6159fcb

File tree

6 files changed

+38
-23
lines changed

6 files changed

+38
-23
lines changed

README.md

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22

33
Works in:
44

5-
- Node >= 16
6-
- Browser
7-
- Next.js Edge Runtime
5+
- Node >= 16
6+
- Browser
7+
- Next.js Edge Runtime
8+
9+
The version number of this package is the same as the version number of the `axios`
10+
version it is compatible with.

index.ts

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
import {
22
AxiosAdapter,
33
AxiosError,
4+
AxiosHeaders,
45
AxiosRequestConfig,
56
AxiosResponse,
7+
InternalAxiosRequestConfig,
68
} from "axios";
79
import settle from "./settle";
810
import buildURL from "./helpers/buildURL";
@@ -24,6 +26,16 @@ import { isUndefined, isStandardBrowserEnv, isFormData } from "./utils";
2426
* - Check if timeout
2527
*/
2628
const fetchAdapter: AxiosAdapter = async (config) => {
29+
if (config.headers) {
30+
// In axios version >= 1.0.0, a falsy value ("undefined") for Content-Type
31+
// is automatically set for some reason This can cause issues if the server
32+
// expects Content-Type header to be something meaningful. To avoid this,
33+
// we unset Content-Type if it's falsy (e.g. "undefined").
34+
if (!config.headers.getContentType()) {
35+
config.headers.clear("Content-Type");
36+
}
37+
}
38+
2739
const request = createRequest(config);
2840
const promiseChain = [getResponse(request, config)];
2941

@@ -56,7 +68,7 @@ const fetchAdapter: AxiosAdapter = async (config) => {
5668
*/
5769
async function getResponse(
5870
request: Request,
59-
config: AxiosRequestConfig
71+
config: InternalAxiosRequestConfig
6072
): Promise<AxiosResponse | Error> {
6173
let stageOne: Response;
6274
try {
@@ -116,7 +128,7 @@ async function getResponse(
116128
status: stageOne.status,
117129
statusText: stageOne.statusText,
118130
headers: Object.fromEntries(Object.entries(stageOne.headers)), // Make a copy of headers
119-
config: config,
131+
config: { ...config, headers: new AxiosHeaders(config.headers) },
120132
request,
121133
};
122134

@@ -197,7 +209,7 @@ function createRequest(config: AxiosRequestConfig): Request {
197209
*/
198210
function createError(
199211
message: string,
200-
config: AxiosRequestConfig,
212+
config: InternalAxiosRequestConfig,
201213
code: string,
202214
request: Request,
203215
response?: AxiosResponse

package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "konfig-axios-fetch-adapter",
3-
"version": "1.0.9",
3+
"version": "1.6.4",
44
"description": "Fetch adapter for axios written in TypeScript",
55
"main": "dist/index.js",
66
"types": "dist/index.d.ts",
@@ -33,7 +33,7 @@
3333
"devDependencies": {
3434
"@types/jest": "^29.5.3",
3535
"@types/node": "^18.15.11",
36-
"axios": "^0.27.2",
36+
"axios": "^1.6.4",
3737
"eventsource-parser": "^1.0.0",
3838
"jest": "^29.6.1",
3939
"konfig-release-it": "^15.5.1",
@@ -50,7 +50,7 @@
5050
}
5151
},
5252
"peerDependencies": {
53-
"axios": ">=0.26.0"
53+
"axios": ">=1.6.4"
5454
},
5555
"packageManager": "[email protected]",
5656
"dependencies": {

settle.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@ import { AxiosError } from "axios";
22

33
export default function settle(resolve, reject, response) {
44
var validateStatus = response.config.validateStatus;
5-
console.log("test");
6-
debugger;
75
if (!response.status || !validateStatus || validateStatus(response.status)) {
86
resolve(response);
97
} else {

tsconfig.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
"forceConsistentCasingInFileNames": true /* Ensure that casing is correct in imports. */,
88
"skipLibCheck": true /* Skip type checking all .d.ts files. */,
99
"declaration": true,
10+
"sourceMap": true,
1011
"outDir": "./dist"
1112
},
1213
"include": ["index.ts"]

yarn.lock

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1411,13 +1411,14 @@ __metadata:
14111411
languageName: node
14121412
linkType: hard
14131413

1414-
"axios@npm:^0.27.2":
1415-
version: 0.27.2
1416-
resolution: "axios@npm:0.27.2"
1414+
"axios@npm:^1.6.4":
1415+
version: 1.6.4
1416+
resolution: "axios@npm:1.6.4"
14171417
dependencies:
1418-
follow-redirects: ^1.14.9
1418+
follow-redirects: ^1.15.4
14191419
form-data: ^4.0.0
1420-
checksum: 38cb7540465fe8c4102850c4368053c21683af85c5fdf0ea619f9628abbcb59415d1e22ebc8a6390d2bbc9b58a9806c874f139767389c862ec9b772235f06854
1420+
proxy-from-env: ^1.1.0
1421+
checksum: 48d8af8488ac7402fae312437c0189b3b609a472fca2f7fc796129c804d98520589b6317096eba8509711d49f855a3f620b6a24ff23acd73ac26433d0383b8f9
14211422
languageName: node
14221423
linkType: hard
14231424

@@ -2804,13 +2805,13 @@ __metadata:
28042805
languageName: node
28052806
linkType: hard
28062807

2807-
"follow-redirects@npm:^1.14.9":
2808-
version: 1.15.3
2809-
resolution: "follow-redirects@npm:1.15.3"
2808+
"follow-redirects@npm:^1.15.4":
2809+
version: 1.15.4
2810+
resolution: "follow-redirects@npm:1.15.4"
28102811
peerDependenciesMeta:
28112812
debug:
28122813
optional: true
2813-
checksum: 584da22ec5420c837bd096559ebfb8fe69d82512d5585004e36a3b4a6ef6d5905780e0c74508c7b72f907d1fa2b7bd339e613859e9c304d0dc96af2027fd0231
2814+
checksum: e178d1deff8b23d5d24ec3f7a94cde6e47d74d0dc649c35fc9857041267c12ec5d44650a0c5597ef83056ada9ea6ca0c30e7c4f97dbf07d035086be9e6a5b7b6
28142815
languageName: node
28152816
linkType: hard
28162817

@@ -4470,7 +4471,7 @@ __metadata:
44704471
dependencies:
44714472
"@types/jest": ^29.5.3
44724473
"@types/node": ^18.15.11
4473-
axios: ^0.27.2
4474+
axios: ^1.6.4
44744475
eventsource-parser: ^1.0.0
44754476
jest: ^29.6.1
44764477
konfig-release-it: ^15.5.1
@@ -4481,7 +4482,7 @@ __metadata:
44814482
vite: ^2.8.0
44824483
web-streams-polyfill: ^3.2.1
44834484
peerDependencies:
4484-
axios: ">=0.26.0"
4485+
axios: ">=1.6.4"
44854486
languageName: unknown
44864487
linkType: soft
44874488

@@ -5459,7 +5460,7 @@ __metadata:
54595460
languageName: node
54605461
linkType: hard
54615462

5462-
"proxy-from-env@npm:^1.0.0":
5463+
"proxy-from-env@npm:^1.0.0, proxy-from-env@npm:^1.1.0":
54635464
version: 1.1.0
54645465
resolution: "proxy-from-env@npm:1.1.0"
54655466
checksum: ed7fcc2ba0a33404958e34d95d18638249a68c430e30fcb6c478497d72739ba64ce9810a24f53a7d921d0c065e5b78e3822759800698167256b04659366ca4d4

0 commit comments

Comments
 (0)