ํ์ ์ ์
&)**์ผ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค:
- ๊ธฐ๋ณธ Context ๊ฐ์ฒด (request, reply ๋ฑ)
AuthContext: ์ธ์ฆ ๊ด๋ จ ์์ฑ (user, passport)ContextExtend: ํ๋ก์ ํธ๋ณ ํ์ฅ ์์ฑ
Context ์์ฑ
request
reply
headers
request.headers์ ๋์ผํ ๊ฐ์ผ๋ก, ํธ์๋ฅผ ์ํด ์ ๊ณต๋ฉ๋๋ค.
createSSE
naiteStore
locale
Accept-Language ํค๋๋ฅผ ํ์ฑํ์ฌ ์ง์ํ๋ locale ์ค ํ๋๋ฅผ ์๋์ผ๋ก ์ ํํ๋ฉฐ, ์ผ์นํ๋ locale์ด ์์ผ๋ฉด defaultLocale์ด ์ฌ์ฉ๋ฉ๋๋ค.
์ค์ ์์:
bufferedFiles
@upload ๋ฐ์ฝ๋ ์ดํฐ๊ฐ ์ ์ฉ๋ ๋ฉ์๋์์, ๊ธฐ๋ณธ ๋ชจ๋(buffer) ๋๋ mode: "buffer"๋ก ์ค์ ๋ ๊ฒฝ์ฐ์ ์กด์ฌํฉ๋๋ค.
๊ฐ ํ์ผ์ ๋ฉ๋ชจ๋ฆฌ์ ๋ก๋๋ ์ํ๋ก, MD5 ๊ณ์ฐ์ด๋ ์ด๋ฏธ์ง ์ฒ๋ฆฌ ๋ฑ ์ ์ฐํ ์์
์ด ๊ฐ๋ฅํฉ๋๋ค.
BufferedFile ์ฃผ์ ์์ฑ ๋ฐ ๋ฉ์๋:
uploadedFiles
@upload({ mode: "stream" }) ์ค์ ์ ์กด์ฌํฉ๋๋ค.
ํ์ผ์ด ์ด๋ฏธ ์ ์ฅ์์ ์คํธ๋ฆฌ๋ฐ ์๋ฃ๋ ์ํ๋ก, URL/key ๋ฑ ๋ฉํ๋ฐ์ดํฐ๋ง ์ ๊ทผ ๊ฐ๋ฅํฉ๋๋ค. ๋์ฉ๋ ํ์ผ ์
๋ก๋์ ์ ํฉํฉ๋๋ค.
UploadedFile ์ฃผ์ ์์ฑ ๋ฐ ๋ฉ์๋:
ํ์ผ ์
๋ก๋ ์ฒ๋ฆฌ:
@upload๋ฐ์ฝ๋ ์ดํฐ์ ํจ๊ป ์ฌ์ฉํด์ผ ํฉ๋๋ค- Buffer ๋ชจ๋(๊ธฐ๋ณธ):
bufferedFiles์ฌ์ฉ - ๋ฉ๋ชจ๋ฆฌ์ ๋ก๋, MD5 ๊ณ์ฐ/์ด๋ฏธ์ง ์ฒ๋ฆฌ์ ์ ํฉ - Stream ๋ชจ๋:
uploadedFiles์ฌ์ฉ - ์ ์ฅ์๋ก ์ง์ ์คํธ๋ฆฌ๋ฐ, ๋์ฉ๋ ํ์ผ์ ์ ํฉ - ์์ธํ ๋ด์ฉ์ @upload ๋ฐ์ฝ๋ ์ดํฐ ๋ฌธ์๋ฅผ ์ฐธ๊ณ ํ์ธ์
AuthContext ์์ฑ
Context๋ AuthContext์ ์์ฑ๋ค๋ ํฌํจํฉ๋๋ค:user: ํ์ฌ ์ธ์ฆ๋ ์ฌ์ฉ์ ์ ๋ณดpassport: ์ธ์ฆ ๊ด๋ จ ๋ฉ์๋ (login, logout)
Context ํ์ฅ
ํ๋ก์ ํธ์์ Context์ ์ปค์คํ ์์ฑ์ ์ถ๊ฐํ๋ ค๋ฉดContextExtend ์ธํฐํ์ด์ค๋ฅผ ํ์ฅํ ์ ์์ต๋๋ค:
contextProvider๋ฅผ ํตํด ์ฃผ์
ํ ์ ์์ต๋๋ค: