Repository navigation
feat: 올리브영 브라우저 없는 HTTP 중계 추가 - #234
Merged
Merged
Conversation
This was referenced Oct 6, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
올리브영 맥 중계가 모든 조회에 GUI Chromium을 요구하던 경로에 브라우저 없는 HTTP 모드를 추가합니다.
OY_RELAY_TRANSPORT=http는 Python3 표준 HTTP 클라이언트로 공식 상품·매장·상세·매장 재고 API를 호출하며 Playwright를 불러오거나 브라우저를 실행하지 않습니다. 기존 browser 기본값과 인증·캐시·한도·원장은 유지합니다.고정 주소와 네 조회 경로만 허용하고 쿠키·리다이렉트·환경 프록시를 사용하지 않습니다. HTTP200/SUCCESS 검증, 응답2MiB·네트워크15초·프로세스18초 제한과 종료 시 자식 회수를 적용합니다. 차단이나 잘못된 응답은 조회 실패로 처리합니다.
같은 맥의 쿠키 없는 Python HTTP 조회는 네 API에서 성공했고 Node/curl은403을 받았습니다. 기존 브라우저 조회와 두 상품의 코드·매장·일반 재고·오늘드림·픽업 상태가 일치했으며, 별도 HTTP 중계의 네 조회와 반복 캐시도 실제 확인했습니다. 정확한 차단 기준 및 장기 무차단은 보장하지 않습니다.
검증: 전체2,993테스트, 측정 대상 커버리지100%(새 TS 두 모듈 포함), Python 오프라인5테스트(CI Vitest에서 실행), check/build/audit0, 독립 요구사항·품질 리뷰 통과. 실행 설정과 롤백 절차는 docs/oliveyoung-http-relay.md에 기록했습니다.