-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmiddleware.ts
97 lines (93 loc) · 3.43 KB
/
middleware.ts
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
import { type NextRequest } from 'next/server'
export async function middleware(req: NextRequest) {
// const { headers, url } = req
// const baseUrl =
// process.env.NODE_ENV === 'development' ? 'http://44.210.56.132:8080' : ''
// try {
// const { status } = await fetch(`${baseUrl}/api/v1/user/me`, {
// headers: { Cookie: headers.get('cookie') ?? '' },
// })
// if (status === 200) {
// const nextRes = NextResponse.next()
// nextRes.cookies.set('isAuth', 'true')
// return nextRes
// }
// // Refresh Token 로직짜기. 있던 쿠키 그대로 호출함. 리프레시 한걸 그대로 받음.
// if (status === 401) {
// const { status: refreshStatus, headers: refreshHeaders } = await fetch(
// `${baseUrl}/api/v1/`,
// {
// headers: { Cookie: headers.get('cookie') ?? '' },
// }
// )
// if (refreshStatus === 201) {
// const nextRes = NextResponse.next()
// refreshHeaders.forEach((value, key) => {
// if (key.toLowerCase() === 'set-cookie') {
// nextRes.headers.append('Set-Cookie', value)
// }
// })
// nextRes.cookies.set('isAuth', 'true')
// return nextRes
// }
// }
// const redirectRes = NextResponse.redirect(
// new URL(`/login?continue=${encodeURIComponent(url)}`, url)
// )
// redirectRes.cookies.set('isAuth', 'false')
// return redirectRes
// } catch (err) {
// const redirectRes = NextResponse.redirect(
// new URL(`/login?continue=${encodeURIComponent(url)}`, url)
// )
// redirectRes.cookies.set('isAuth', 'false')
// return redirectRes
// }
=======
// const { headers, url } = req
// const baseUrl =
// process.env.NODE_ENV === 'development' ? 'http://44.210.56.132:8080' : ''
// try {
// const { status } = await fetch(`${baseUrl}/api/v1/user/me`, {
// headers: { Cookie: headers.get('cookie') ?? '' },
// })
// if (status === 200) {
// const nextRes = NextResponse.next()
// nextRes.cookies.set('isAuth', 'true')
// return nextRes
// }
// // Refresh Token 로직짜기. 있던 쿠키 그대로 호출함. 리프레시 한걸 그대로 받음.
// if (status === 401) {
// const { status: refreshStatus, headers: refreshHeaders } = await fetch(
// `${baseUrl}/api/v1/`,
// {
// headers: { Cookie: headers.get('cookie') ?? '' },
// }
// )
// if (refreshStatus === 201) {
// const nextRes = NextResponse.next()
// refreshHeaders.forEach((value, key) => {
// if (key.toLowerCase() === 'set-cookie') {
// nextRes.headers.append('Set-Cookie', value)
// }
// })
// nextRes.cookies.set('isAuth', 'true')
// return nextRes
// }
// }
// const redirectRes = NextResponse.redirect(
// new URL(`/login?continue=${encodeURIComponent(url)}`, url)
// )
// redirectRes.cookies.set('isAuth', 'false')
// return redirectRes
// } catch (err) {
// const redirectRes = NextResponse.redirect(
// new URL(`/login?continue=${encodeURIComponent(url)}`, url)
// )
// redirectRes.cookies.set('isAuth', 'false')
// return redirectRes
// }
}
export const config = {
matcher: ['/calendar', '/list', '/mypage', '/this-week', '/product/:path*'],
}