2017-10-27 7 views
0

err.statusclient errors (4xx) and server errors (5xx)을 확인하고 싶습니다. HTTP에서 :슈퍼 에이전트 응답에서 응답 클래스를 결정할 수 있습니까?

상태 코드의 첫 번째 숫자는 클래스 응답을 정의합니다.

내가 쉽게 작성할 수 있습니다

var _isClientOrServerError = function(errStatus){ 
    var errorRange = Math.floor(err.status/100) 
    return ([5, 4].includes(errorRange)) 
} 

을하지만 요청의 응답 클래스를 결정하는 더 나은 방법이?

예 :

if (res.class === 'SERVER_ERROR') 

또는 유사한?

플러그인을 사용하면 너무 즐겁습니다.

답변

0

예. Superagent는 HTTP 응답 클래스 유형을 호출하고 statusType 필드에 응답 클래스를 포함합니다. 워드 프로세서에서 :

// status/class 
res.status = status; 
res.statusType = type; 

// basics 
res.info = 1 == type; 
res.ok = 2 == type; 
res.clientError = 4 == type; 
res.serverError = 5 == type; 
res.error = 4 == type || 5 == type; 

그래서 res.statusType는 응답 클래스 (이것은 1 사이의 JS Number 그리고 5), 그러나 res.error을 확인하는 4XX 또는 5XX 오류를 감지하기에 충분가 들어있는 필드입니다.