Skip to content

Commit 49ffb80

Browse files
committed
PATCH support.
Package upgrades, some added type information.
1 parent 56c8901 commit 49ffb80

File tree

3 files changed

+27
-17
lines changed

3 files changed

+27
-17
lines changed

package.json

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@hardcodet/httpclient",
3-
"version": "2.0.2",
3+
"version": "2.0.3",
44
"description": "HTTP client library for easy consumption of RESTful APIs. Comes with built-in authentication strategies, validation and retry mechanism.",
55
"main": "dist/index.js",
66
"files": [
@@ -26,15 +26,15 @@
2626
},
2727
"homepage": "https://github.com/hardcodet/httpclient-js#readme",
2828
"devDependencies": {
29-
"@types/node": "^13.13.2",
30-
"prettier": "^2.0.5",
31-
"rimraf": "^3.0.2",
32-
"tslint": "^6.1.1",
33-
"typescript": "^3.8.3"
29+
"@types/node": "^20.8.3",
30+
"prettier": "^3.0.3",
31+
"rimraf": "^5.0.5",
32+
"tslint": "^6.1.3",
33+
"typescript": "^5.2.2"
3434
},
3535
"dependencies": {
36-
"axios": "^0.19.2",
37-
"class-transformer": "^0.3.1",
38-
"class-validator": "^0.12.2"
36+
"axios": "^1.5.1",
37+
"class-transformer": "^0.5.1",
38+
"class-validator": "^0.14.0"
3939
}
4040
}

src/httpClient/ApiResponse.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ export class ApiResponse {
7373
data = " - " + JSON.stringify(res.data);
7474
}
7575
} catch (e) {
76+
// we can't parse the response - give up
7677
console.error(e);
7778
}
7879

src/httpClient/HttpClient.ts

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ export class HttpClient {
5454
baseURL: this.baseUri,
5555
timeout: this.options.timeout,
5656
headers,
57-
validateStatus: (status) => {
57+
validateStatus: (status: number) => {
5858
return status >= 200; // accept all responses
5959
},
6060
};
@@ -67,7 +67,7 @@ export class HttpClient {
6767
this._setInstance();
6868
}
6969

70-
get(uri, headers?): Promise<ApiResponse> {
70+
get(uri: string, headers?): Promise<ApiResponse> {
7171
return this._invoke("GET", uri, null, headers);
7272
}
7373

@@ -76,29 +76,38 @@ export class HttpClient {
7676
return this._parseResultInternal<T>(response, transformType);
7777
}
7878

79-
post(uri, data?, headers?): Promise<ApiResponse> {
79+
post(uri: string, data?: any, headers?): Promise<ApiResponse> {
8080
return this._invoke("POST", uri, data, headers);
8181
}
8282

83-
async postAs<T>(uri: string, data?, transformType?: TransformType<T>, headers?): Promise<ApiResult<T>> {
83+
async postAs<T>(uri: string, data?: any, transformType?: TransformType<T>, headers?): Promise<ApiResult<T>> {
8484
const response = await this.post(uri, data, headers);
8585
return this._parseResultInternal<T>(response, transformType);
8686
}
8787

88-
put(uri, data?, headers?): Promise<ApiResponse> {
88+
put(uri: string, data?: any, headers?): Promise<ApiResponse> {
8989
return this._invoke("PUT", uri, data, headers);
9090
}
9191

92-
async putAs<T>(uri: string, data?, transformType?: TransformType<T>, headers?): Promise<ApiResult<T>> {
92+
async putAs<T>(uri: string, data?: any, transformType?: TransformType<T>, headers?): Promise<ApiResult<T>> {
9393
const response = await this.put(uri, data, headers);
9494
return this._parseResultInternal<T>(response, transformType);
9595
}
9696

97-
delete(uri, data?, headers?): Promise<ApiResponse> {
97+
patch(uri: string, data?: any, headers?): Promise<ApiResponse> {
98+
return this._invoke("PATCH", uri, data, headers);
99+
}
100+
101+
async patchAs<T>(uri: string, data?: any, transformType?: TransformType<T>, headers?): Promise<ApiResult<T>> {
102+
const response = await this.patch(uri, data, headers);
103+
return this._parseResultInternal<T>(response, transformType);
104+
}
105+
106+
delete(uri: string, data?: any, headers?): Promise<ApiResponse> {
98107
return this._invoke("DELETE", uri, data, headers);
99108
}
100109

101-
async deleteAs<T>(uri: string, data?, transformType?: TransformType<T>, headers?): Promise<ApiResult<T>> {
110+
async deleteAs<T>(uri: string, data?: any, transformType?: TransformType<T>, headers?): Promise<ApiResult<T>> {
102111
const response = await this.delete(uri, data, headers);
103112
return this._parseResultInternal<T>(response, transformType);
104113
}

0 commit comments

Comments
 (0)