EEYatHo 앱 깎는 이야기

Swift ) 웹뷰 Status Code 테스트, 에러처리 stub - EEYatHo iOS 본문

iOS, Swift

Swift ) 웹뷰 Status Code 테스트, 에러처리 stub - EEYatHo iOS

EEYatHo 2022. 6. 17. 17:47
반응형

 

웹뷰에서 내려오는 status code 로 에러처리를 하려하는데,

테스트할 만한 stub이 없어서 정리.

 

 

테스트할 status code URL
404 https://github.com/qwdscxzvdw
502 https://scrap.uznam8x.space/

 

 

코드

/*
 웹뷰 response가 오고 난 후, 다시한번 탐색여부를 결정하는 대리자 메소드
 statusCode로 에러처리
 decidePolicyFor navigationAction에서 탐색을 거부했다면 이 대리자까지 오지않음
 */
func webView(_ webView: WKWebView, decidePolicyFor navigationResponse: WKNavigationResponse,
             decisionHandler: @escaping (WKNavigationResponsePolicy) -> Void) {

    if let response = navigationResponse.response as? HTTPURLResponse {
        print("webviw response status code: \(response.statusCode)")
        
        switch response.statusCode {
        case (200...299):
            print("success")
        case (300...399):
       	    print("redirection")
        case (400...499):
            print("clientError")
        case (500...599):
            print("serverError")
        default:
            print("unknown")
        }
    }
    
    decisionHandler(.allow)
}
Comments