Context ๊ฐ์
Request ์ ๋ณด
HTTP ์์ฒญ ๋ฐ์ดํฐ ํค๋, ๋ฐ๋, ์ฟผ๋ฆฌ
Reply ๊ฐ์ฒด
HTTP ์๋ต ์ ์ด ์ํ ์ฝ๋, ํค๋
User ์ ๋ณด
์ธ์ฆ๋ ์ฌ์ฉ์ ID, ๊ถํ, ์ญํ
ํ์ฅ ๊ฐ๋ฅ
์ปค์คํ
ํ๋ ์ถ๊ฐ ํ๋ก์ ํธ๋ณ ๋ฐ์ดํฐ
SonamuContext ๊ตฌ์กฐ
๊ธฐ๋ณธ ๊ตฌ์กฐ
Sonamu๋ ๋ด๋ถ์ ์ผ๋ก Fastify๋ฅผ ์ฌ์ฉํ๋ฏ๋ก, request์ reply๋ Fastify์ ๊ฐ์ฒด์
๋๋ค.
Context ๊ตฌ์ฑ ์์
1. Request
HTTP ์์ฒญ๊ณผ ๊ด๋ จ๋ ๋ชจ๋ ์ ๋ณด๋ฅผ ๋ด๊ณ ์์ต๋๋ค.headers: HTTP ํค๋ (๊ฐ์ฒด)query: URL ์ฟผ๋ฆฌ ํ๋ผ๋ฏธํฐ (๊ฐ์ฒด)body: ์์ฒญ ๋ฐ๋ (POST/PUT ๋ฑ)params: URL ๊ฒฝ๋ก ํ๋ผ๋ฏธํฐip: ํด๋ผ์ด์ธํธ IP ์ฃผ์hostname: ํธ์คํธ๋ชurl: ์์ฒญ URLmethod: HTTP ๋ฉ์๋
2. Reply
HTTP ์๋ต์ ์ ์ดํ ์ ์์ต๋๋ค.status(code): ์ํ ์ฝ๋ ์ค์ header(name, value): ์๋ต ํค๋ ์ค์ cookie(name, value, options): ์ฟ ํค ์ค์ redirect(url): ๋ฆฌ๋ค์ด๋ ํธsend(data): ์๋ต ์ ์ก (์ผ๋ฐ์ ์ผ๋ก ์๋)
3. User
์ธ์ฆ๋ ์ฌ์ฉ์ ์ ๋ณด๋ฅผ ๋ด๊ณ ์์ต๋๋ค.์ค์ ์ฌ์ฉ ์์
์ธ์ฆ ํ์ธ
๊ถํ ํ์ธ
๋ก๊น
์ปค์คํ ํค๋
์ฟ ํค ์ฒ๋ฆฌ
IP ๊ธฐ๋ฐ ์ ํ
Rate Limiting ์ ๋ณด
Context ์ฌ์ฉ ํจํด
์ฃผ์์ฌํญ
ํํ ์ค์
๋ค์ ๋จ๊ณ
Context ๊ฐ์ ธ์ค๊ธฐ
Sonamu.getContext() ์ฌ์ฉ๋ฒ
์ปค์คํ Context
Context ํ์ฅํ๊ธฐ
@api ๋ฐ์ฝ๋ ์ดํฐ
API ๊ธฐ๋ณธ ์ฌ์ฉ๋ฒ
์๋ฌ ์ฒ๋ฆฌ
API ์๋ฌ ํธ๋ค๋ง