-
-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Expand file tree
/
Copy path05.array-hooks.ts
More file actions
47 lines (40 loc) · 1.3 KB
/
05.array-hooks.ts
File metadata and controls
47 lines (40 loc) · 1.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
import { defineEventHandler, setHeader, getQuery } from '#imports';
export default defineEventHandler({
// Array of onRequest handlers
onRequest: [
async event => {
setHeader(event, 'x-array-onrequest-0', 'executed');
const query = getQuery(event);
if (query.throwOnRequest0Error === 'true') {
throw new Error('OnRequest[0] hook error');
}
},
async event => {
setHeader(event, 'x-array-onrequest-1', 'executed');
const query = getQuery(event);
if (query.throwOnRequest1Error === 'true') {
throw new Error('OnRequest[1] hook error');
}
},
],
handler: async event => {
setHeader(event, 'x-array-handler', 'executed');
},
// Array of onBeforeResponse handlers
onBeforeResponse: [
async (event, response) => {
setHeader(event, 'x-array-onbeforeresponse-0', 'executed');
const query = getQuery(event);
if (query.throwOnBeforeResponse0Error === 'true') {
throw new Error('OnBeforeResponse[0] hook error');
}
},
async (event, response) => {
setHeader(event, 'x-array-onbeforeresponse-1', 'executed');
const query = getQuery(event);
if (query.throwOnBeforeResponse1Error === 'true') {
throw new Error('OnBeforeResponse[1] hook error');
}
},
],
});