-
Notifications
You must be signed in to change notification settings - Fork 2
Feat/#105: CloudFront fallback 처리 #107
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
The head ref may contain hidden characters: "feat/#105/cloudfront-fallback-\uCC98\uB9AC"
Conversation
WalkthroughCloudFront 쿠키 서명 실패 시 S3 직접 접근으로 자동 폴백하는 메커니즘이 추가되었습니다. 서명 결과를 boolean으로 반환하도록 변경되었으며, 실패 시 fallback S3 URL을 조회하고 응답에 플래그를 추가합니다. Changes
Sequence Diagram(s)sequenceDiagram
participant Client
participant VideoController
participant CloudFrontCookieService
participant VideoService
participant S3Util
Client->>VideoController: joinVideoSession(request)
activate VideoController
Note over VideoController,CloudFrontCookieService: Normal Flow (Fallback Disabled)
VideoController->>CloudFrontCookieService: addSignedCookies(response, hlsPrefix)
activate CloudFrontCookieService
CloudFrontCookieService->>CloudFrontCookieService: addSignedCookiesInternal()
CloudFrontCookieService-->>VideoController: true (success)
deactivate CloudFrontCookieService
rect rgb(200, 255, 200)
Note over VideoController: Build response<br/>with CloudFront URL
VideoController->>VideoController: buildResponse (no fallback)
end
VideoController-->>Client: JoinVideoSessionResponse
deactivate VideoController
break
end
Client->>VideoController: joinVideoSession(request)
activate VideoController
Note over VideoController,S3Util: Fallback Flow (CloudFront Signing Fails)
VideoController->>CloudFrontCookieService: addSignedCookies(response, hlsPrefix)
activate CloudFrontCookieService
CloudFrontCookieService->>CloudFrontCookieService: addSignedCookiesInternal()
CloudFrontCookieService->>CloudFrontCookieService: catch exception, log
CloudFrontCookieService-->>VideoController: false (fallback needed)
deactivate CloudFrontCookieService
rect rgb(255, 220, 200)
Note over VideoController,S3Util: Fallback to S3
VideoController->>VideoService: getFallbackPlaybackUrl(hlsPrefix)
activate VideoService
VideoService->>S3Util: generatePlaybackUrl(hlsPrefix)
S3Util-->>VideoService: S3 presigned URL
VideoService-->>VideoController: S3 URL
deactivate VideoService
VideoController->>VideoController: buildResponse with S3 URL<br/>+ fallbackToS3 = true
end
VideoController-->>Client: JoinVideoSessionResponse (S3 fallback)
deactivate VideoController
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes 주의 깊게 검토해야 할 항목:
Poem
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: CHILL Plan: Free 📒 Files selected for processing (5)
Note 🎁 Summarized by CodeRabbit FreeYour organization is on the Free plan. CodeRabbit will generate a high-level summary and a walkthrough for each pull request. For a comprehensive line-by-line review, please upgrade your subscription to CodeRabbit Pro by visiting https://app.coderabbit.ai/login. Comment |
📝 요약
🔖 변경 사항
✅ 리뷰 요구사항
📸 확인 방법 (선택)
📌 PR 진행 시 이러한 점들을 참고해 주세요
Summary by CodeRabbit
릴리즈 노트
✏️ Tip: You can customize this high-level summary in your review settings.