Skip to content

Commit b6c1101

Browse files
authored
fix: fix unauthorized response (#153)
1 parent 580c508 commit b6c1101

File tree

3 files changed

+10
-14
lines changed

3 files changed

+10
-14
lines changed

src/services/post.service.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@ import { IErrorResponse } from '../models/error-response';
1010
import { AlertService } from './alert.service';
1111
import { PostFileMapManager } from './post-file-map';
1212
import { ZzkSearchResult } from '../models/zzk-search-result';
13-
import { got, gotWithBuffer } from '@/utils/http-client';
13+
import got from '@/utils/http-client';
14+
import httpClient from '@/utils/http-client';
1415
import iconv from 'iconv-lite';
1516

1617
const defaultPageSize = 30;
@@ -69,7 +70,10 @@ export class PostService {
6970
}
7071

7172
async fetchPostEditDto(postId: number, muteErrorNotification = false): Promise<PostEditDto | undefined> {
72-
const response = await gotWithBuffer(`${this._baseUrl}/api/posts/${postId}`);
73+
const response = await httpClient.get(`${this._baseUrl}/api/posts/${postId}`, {
74+
throwHttpErrors: false,
75+
responseType: 'buffer',
76+
});
7377

7478
try {
7579
throwIfNotOkGotResponse(response);

src/utils/http-client.ts

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,6 @@ const httpClient = got.extend({
2020
https: { rejectUnauthorized: false },
2121
});
2222

23-
const gotWithBuffer = got.extend({
24-
hooks: {
25-
beforeRequest: [bearerTokenHook],
26-
},
27-
throwHttpErrors: false,
28-
https: { rejectUnauthorized: false },
29-
responseType: 'buffer',
30-
});
31-
32-
export { got, gotWithBuffer };
23+
export { got };
3324
export * from 'got';
3425
export default httpClient;

src/utils/throw-if-not-ok-response.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import { GotFetchResponse } from 'got-fetch/out/lib/response';
22
import { Response as GotResponse } from 'got';
33
import { IErrorResponse, isErrorResponse } from '../models/error-response';
4+
import iconv from 'iconv-lite';
45

56
const throwIfNotOkResponse = async (response: GotFetchResponse) => {
67
if (!response.ok) {
@@ -21,9 +22,9 @@ const throwIfNotOkResponse = async (response: GotFetchResponse) => {
2122
}
2223
};
2324

24-
const throwIfNotOkGotResponse = (response: GotResponse<string>) => {
25+
const throwIfNotOkGotResponse = (response: GotResponse<Buffer>) => {
2526
if (!response.ok) {
26-
const responseText = response.body;
27+
const responseText = iconv.decode(response.rawBody, 'utf-8');
2728
let responseJson: unknown;
2829
try {
2930
responseJson = JSON.parse(responseText);

0 commit comments

Comments
 (0)