Skip to content

Commit 06350f3

Browse files
committed
💥 UnexpectedResponseError don't have Request
1 parent 0b58fe7 commit 06350f3

File tree

12 files changed

+19
-48
lines changed

12 files changed

+19
-48
lines changed

rest/error.ts

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,14 @@ import { tryToErrorLike } from "../is.ts";
44
/** 想定されない応答が帰ってきたときに投げる例外 */
55
export class UnexpectedResponseError extends Error {
66
name = "UnexpectedResponseError";
7-
request: Request;
8-
response: Response;
97

108
constructor(
11-
init: { request: Request; response: Response },
9+
public response: Response,
1210
) {
1311
super(
14-
`${init.response.status} ${init.response.statusText} when fetching ${init.request.url}`,
12+
`${response.status} ${response.statusText} when fetching ${response.url}`,
1513
);
1614

17-
this.request = init.request.clone();
18-
this.response = init.response.clone();
19-
2015
// @ts-ignore only available on V8
2116
if (Error.captureStackTrace) {
2217
// @ts-ignore only available on V8
@@ -27,14 +22,13 @@ export class UnexpectedResponseError extends Error {
2722

2823
/** 失敗した要求からエラー情報を取り出す */
2924
export const makeError = async <T extends ErrorLike>(
30-
req: Request,
3125
res: Response,
3226
): Promise<{ ok: false; value: T }> => {
3327
const response = res.clone();
3428
const text = await response.text();
3529
const value = tryToErrorLike(text);
3630
if (!value) {
37-
throw new UnexpectedResponseError({ request: req, response });
31+
throw new UnexpectedResponseError(response);
3832
}
3933
return {
4034
ok: false,

rest/getGyazoToken.ts

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,7 @@ export const getGyazoToken = async (
3434

3535
const res = await fetch(req);
3636
if (!res.ok) {
37-
return makeError<NotLoggedInError>(
38-
req,
39-
res,
40-
);
37+
return makeError<NotLoggedInError>(res);
4138
}
4239

4340
const { token } = (await res.json()) as { token?: string };

rest/getSnapshots.ts

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -58,10 +58,7 @@ export const getSnapshots = async (
5858
},
5959
};
6060
}
61-
return makeError<NotFoundError | NotLoggedInError | NotMemberError>(
62-
req,
63-
res,
64-
);
61+
return makeError<NotFoundError | NotLoggedInError | NotMemberError>(res);
6562
}
6663

6764
const data = (await res.json()) as PageSnapshot;

rest/getTweetInfo.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ export const getTweetInfo = async (
5353
},
5454
};
5555
}
56-
return makeError<SessionError | BadRequestError>(req, res);
56+
return makeError<SessionError | BadRequestError>(res);
5757
}
5858

5959
const tweet = (await res.json()) as TweetInfo;

rest/getWebPageTitle.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ export const getWebPageTitle = async (
5353
},
5454
};
5555
}
56-
return makeError<SessionError | BadRequestError>(req, res);
56+
return makeError<SessionError | BadRequestError>(res);
5757
}
5858

5959
const { title } = (await res.json()) as { title: string };

rest/link.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ export const getLinks = async (
5353
};
5454
}
5555

56-
return makeError<NotFoundError | NotLoggedInError>(req, res);
56+
return makeError<NotFoundError | NotLoggedInError>(res);
5757
}
5858

5959
const pages = (await res.json()) as SearchedTitle[];

rest/page-data.ts

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ export const importPages = async (
4949

5050
const res = await fetch(req);
5151
if (!res.ok) {
52-
return makeError(req, res);
52+
return makeError(res);
5353
}
5454

5555
const { message } = (await res.json()) as { message: string };
@@ -83,9 +83,7 @@ export const exportPages = async <withMetadata extends true | false>(
8383
const res = await fetch(req);
8484

8585
if (!res.ok) {
86-
return makeError<
87-
NotFoundError | NotPrivilegeError | NotLoggedInError
88-
>(req, res);
86+
return makeError<NotFoundError | NotPrivilegeError | NotLoggedInError>(res);
8987
}
9088

9189
const value = (await res.json()) as ExportedData<withMetadata>;

rest/pages.ts

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,7 @@ export const getPage = async (
3939
);
4040
const res = await fetch(req);
4141
if (!res.ok) {
42-
return makeError<NotFoundError | NotLoggedInError | NotMemberError>(
43-
req,
44-
res,
45-
);
42+
return makeError<NotFoundError | NotLoggedInError | NotMemberError>(res);
4643
}
4744
const value = (await res.json()) as Page;
4845
return { ok: true, value };
@@ -102,10 +99,7 @@ export const listPages = async (
10299

103100
const res = await fetch(req);
104101
if (!res.ok) {
105-
return makeError<NotFoundError | NotLoggedInError | NotMemberError>(
106-
req,
107-
res,
108-
);
102+
return makeError<NotFoundError | NotLoggedInError | NotMemberError>(res);
109103
}
110104
const value = (await res.json()) as PageList;
111105
return { ok: true, value };

rest/profile.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ export const getProfile = async (
1717
);
1818
const response = await fetch(request);
1919
if (!response.ok) {
20-
throw new UnexpectedResponseError({ request, response });
20+
throw new UnexpectedResponseError(response);
2121
}
2222
return (await response.json()) as MemberUser | GuestUser;
2323
};

rest/project.ts

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -35,10 +35,7 @@ export const getProject = async (
3535
const res = await fetch(req);
3636

3737
if (!res.ok) {
38-
return makeError<NotFoundError | NotMemberError | NotLoggedInError>(
39-
req,
40-
res,
41-
);
38+
return makeError<NotFoundError | NotMemberError | NotLoggedInError>(res);
4239
}
4340

4441
const value = (await res.json()) as MemberProject | NotMemberProject;
@@ -68,7 +65,7 @@ export const listProjects = async (
6865
const res = await fetch(req);
6966

7067
if (!res.ok) {
71-
return makeError<NotLoggedInError>(req, res);
68+
return makeError<NotLoggedInError>(res);
7269
}
7370

7471
const value = (await res.json()) as ProjectResponse;

0 commit comments

Comments
 (0)