Skip to content

feat(constants): add get_ws_url helper for real/mock WebSocket selection#36

Merged
unohee merged 1 commit into
mainfrom
feat/ws-mock-url-helper
Jun 3, 2026
Merged

feat(constants): add get_ws_url helper for real/mock WebSocket selection#36
unohee merged 1 commit into
mainfrom
feat/ws-mock-url-helper

Conversation

@unohee

@unohee unohee commented Jun 3, 2026

Copy link
Copy Markdown
Owner

Summary

v1.7.0(#33)에서 도입했지만 미사용으로 dead code 상태였던 WS_MOCK_URL을 활성화하는 헬퍼 추가.

Verified

KIS 공식 샘플 코드 open-trading-api/legacy/websocket/python/{ws_domestic_overseas_all,ws_domestic+overseas_stock,ops_ws_sample,ws_commodity_future,ws_domestic_stock,ws_domestic_future,multi_processing_sample_ws}.py에서 모두 모의투자 WS 엔드포인트로 `ws://ops.koreainvestment.com:31000`을 주석으로 명시 — 본 PR의 `WS_MOCK_URL`이 KIS 공식과 일치함을 확인.

Changes

  • kis_agent/core/constants.py: `get_ws_url(is_real: bool = True) -> str` 헬퍼 추가
  • kis_agent/websocket/__init__.py: 도크스트링에 모의 엔드포인트 사용 예제 추가

Compatibility

  • 기존 `WSAgent`, `KisWebSocket`, `ConnectionManager`의 `url` 매개변수 기본값(WS_REAL_URL)은 변경 없음
  • 모의 사용자는 `WSAgent(approval_key, url=get_ws_url(False))`로 명시적 선택

Test plan

  • `get_ws_url(True) == WS_REAL_URL`, `get_ws_url(False) == WS_MOCK_URL`
  • `ruff check` 통과
  • 공개 API import 정상

v1.7.0에서 도입했지만 미사용으로 dead code 상태였던 WS_MOCK_URL을
활성화. KIS 공식 샘플 코드(open-trading-api/legacy/websocket/python/*)에서
모의투자 WS 엔드포인트가 ws://ops.koreainvestment.com:31000임을 확인.

추가:
- kis_agent.core.constants.get_ws_url(is_real: bool = True) -> str
  실전/모의 분기 헬퍼. 기본은 실전(기존 동작 호환).
- kis_agent/websocket/__init__.py 도크스트링에 모의 엔드포인트 사용 예제 추가.

기존 WSAgent/KisWebSocket 시그니처는 변경하지 않음(url 매개변수에 직접
전달). 사용자가 명시적으로 get_ws_url(False)로 선택할 수 있게 된 점이
가장 큰 차이.
@unohee unohee merged commit 2edbe12 into main Jun 3, 2026
6 checks passed
@unohee unohee deleted the feat/ws-mock-url-helper branch June 3, 2026 14:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant