Skip to content

Commit 4ee304b

Browse files
authored
Add axios response type option for get requests (#237)
1 parent 5bf82e0 commit 4ee304b

File tree

2 files changed

+15
-8
lines changed

2 files changed

+15
-8
lines changed

resources/baseResource.ts

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
1-
import axiosStatic, { AxiosInstance, AxiosRequestConfig, AxiosRequestHeaders, responseEncoding } from "axios"
2-
import { extractUnitError, UnitConfig } from "../types/common"
1+
import axiosStatic, {
2+
AxiosInstance,
3+
AxiosRequestConfig,
4+
AxiosRequestHeaders,
5+
responseEncoding,
6+
ResponseType
7+
} from "axios"
8+
import { extractUnitError, UnitConfig } from "../types"
39

410
const MAX_REQUEST_SIZE = 20000000
511

@@ -20,12 +26,13 @@ export class BaseResource {
2026
this.axios = config?.axios ?? axiosStatic
2127
}
2228

23-
protected async httpGet<T>(path: string, config?: { headers?: object; params?: object; responseEncoding?: responseEncoding; }): Promise<T> {
29+
protected async httpGet<T>(path: string, config?: { headers?: object; params?: object; responseEncoding?: responseEncoding; responseType?: ResponseType; }): Promise<T> {
2430

2531
const conf = {
2632
headers: this.mergeHeaders(config?.headers),
2733
...(config?.params && { params: (config.params) }),
28-
...(config?.responseEncoding && { responseEncoding: config.responseEncoding })
34+
...(config?.responseEncoding && { responseEncoding: config.responseEncoding }),
35+
...(config?.responseType && { responseType: config.responseType })
2936
} as AxiosRequestConfig
3037

3138
return await this.axios.get<T>(this.resourcePath + path, conf)

resources/statements.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { BaseListParams, Statement, UnitConfig, UnitResponse } from "../types"
22
import { BaseResource } from "./baseResource"
3-
import { responseEncoding } from "axios"
3+
import {responseEncoding, ResponseType} from "axios"
44

55
export class Statments extends BaseResource {
66
constructor(token: string, basePath: string, config?: UnitConfig) {
@@ -35,11 +35,11 @@ export class Statments extends BaseResource {
3535
}
3636

3737
const url = isPDF ? `/${statementId}/pdf` : `/${statementId}/html`
38-
return this.httpGet<string>(url, {params: parameters, responseEncoding:"binary"})
38+
return this.httpGet<string>(url, {params: parameters, responseEncoding: "binary"})
3939
}
4040

41-
public getBankVerification(accountId: string, includeProofOfFunds = false, responseEncoding: responseEncoding = "binary"): Promise<string> {
42-
return this.httpGet<string>(`/${accountId}/bank/pdf`, {params: {includeProofOfFunds}, responseEncoding})
41+
public getBankVerification(accountId: string, includeProofOfFunds = false, responseEncoding: responseEncoding = "binary", responseType: ResponseType = "blob"): Promise<string> {
42+
return this.httpGet<string>(`/${accountId}/bank/pdf`, {params: {includeProofOfFunds}, responseEncoding, responseType})
4343
}
4444
}
4545

0 commit comments

Comments
 (0)