콘텐츠로 이동

에이전트 소켓 (WSS)

GET
/api/v1/relay/socket
curl --request GET \
--url https://dev.api.endueos.com/api/v1/relay/socket \
--header 'upgrade: websocket'

에이전트가 접속하는 WebSocket. 사용자 인증이 아니라 연결 토큰으로 인증한다. 프레임 규약은 protocol/README.md.

토큰은 Sec-WebSocket-Protocol: endue-os.v1, endue-os.token.{토큰} 으로 보낸다 (와이어 프로토콜 v1.2). 101 은 endue-os.v1 을 고른다. v1·v1.1 에이전트의 ?token= 도 받는다 — 둘 다 있으면 헤더가 이긴다. 토큰을 Upgrade 보다 먼저 확인한다: Upgrade 없이 오면 토큰이 맞을 때 426, 틀릴 때 401 이다 (브라우저 에이전트가 거절 이유를 아는 길 — 이때는 Authorization: Bearer 로 보낸다. fetch 는 Sec-* 헤더를 붙일 수 없다).

가이드 — 내 에이전트 붙이기

  • None
token
string

V1·v1.1 만. URL 은 로그에 남는다 — v1.2 에이전트는 쓰지 않는다.

Sec-WebSocket-Protocol
string

endue-os.v1, endue-os.token.{연결 토큰} (v1.2).

upgrade
string
허용 값: websocket

WebSocket 으로 바뀐다.

Sec-WebSocket-Protocol
string
허용 값: endue-os.v1

endue-os.v1 — 요청에 있었을 때만.

인증이 없거나 무효다 — UNAUTHORIZED. 본문은 오류 봉투.

Upgrade: websocket 이 없다. 본문은 오류 봉투.

의존 서비스에 닿지 못했다 — 잠시 뒤 다시. 본문은 오류 봉투.