Skip to content

fix: CU·CGV 요청과 올리브영 Worker 호환성 복구 - #191

Merged
hmmhmmhm merged 1 commit into
mainfrom
fix/service-recovery-sept21
Sep 21, 2026
Merged

hmmhmmhm merged 1 commit into
mainfrom
fix/service-recovery-sept21

Conversation

@hmmhmmhm

Copy link
Copy Markdown
Owner

변경 요약

Workers에서 CU 매장 요청은 HTTP 400, CGV 요청은 HTTP 403으로 실패했습니다. 필요한 User-Agent를 명시해 같은 원격 환경에서 실제 매장·극장·영화·시간표 조회를 복구했습니다.

올리브영은 redirect: error가 Workers에서 요청 전 TypeError를 발생시키고 있었습니다. manual과 기존 HTTP 200 검사를 조합해 리다이렉트를 따라가지 않으면서 실행 가능하게 했습니다. 직접 요청에만 브라우저 헤더를 추가했으며 설정된 릴레이의 우선순위와 인증 정보 보호는 유지합니다. 원격 상품·매장 검색이 성공했지만 상세 재고 원본의 간헐 403은 남습니다.

Windows에서 검증할 수 있도록 CRLF 스크립트 추출을 정규화하고 POSIX 설치·프로세스 통합 검사 4개를 명시적으로 생략합니다. 명령 호출과 파싱은 별도 테스트로 모든 플랫폼에서 검사하며 Linux CI에서는 네 통합 검사도 실행합니다.

관련 이슈

체크리스트

  • npm run check 통과: Windows 1,963개 테스트 통과, POSIX 전용 4개 생략
  • npm run test:coverage -- --maxWorkers=4: Statements·Branches·Functions·Lines 100%
  • npm run build 성공, npm audit 취약점 0건
  • 독립 코드 리뷰 완료
  • 인증 정보 미포함, 실제 HTTP 리다이렉트의 자격증명 미전달 테스트 통과

테스트 방법

CU·CGV는 캐시를 우회한 원격 Worker에서 헤더 제거 시 실패, 추가 시 성공을 확인했습니다. 올리브영은 원격 상품 399개·매장 50개를 확인했습니다. 원격 재고 응답의 HTTP 200만으로 성공이라 판단하지 않았으며 stockCheckedCount: 0인 경우는 미복구로 기록했습니다.

Windows의 별도 Chrome과 임시 인증 HTTP 릴레이를 이용한 전체 경로에서는 실제 상품 1개의 매장별 재고를 확인했습니다. checkedCount: 1, stockSource: nearby_store, 50개 매장 중 47개 재고 있음입니다. 임시 서버·브라우저·원격 프리뷰는 종료했으며 상시 호스트와 터널은 설치하지 않았습니다.

참고 사항

운영 배포 전입니다. 올리브영 상세 재고의 지속적인 복구에는 브라우저 중계 연결이 필요할 수 있습니다. 디트릭스 간헐 시간 초과, GS25 운영 원본 403, 세븐일레븐 Worker 원본 403은 미해결이며 조사 근거를 docs에 남겼습니다. 유료 대체 호출은 활성화하지 않았습니다.

@hmmhmmhm
hmmhmmhm marked this pull request as ready for review September 21, 2026 01:41
@hmmhmmhm
hmmhmmhm merged commit 9630bc4 into main Sep 21, 2026
6 checks passed
@hmmhmmhm
hmmhmmhm deleted the fix/service-recovery-sept21 branch September 21, 2026 01:41
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