나는 Mechanize를 사용하는 Ruby 코드를 테스트 중입니다. 요청에 잘못된 OAuth 토큰을 전달할 때 Mechanize가 예기치 않은 예외를 throw합니다.왜 Mechanize는 잘못된 OAuth 자격 증명을 볼 때 "정의되지 않은 메서드"를 발생시킵니다?
나는 나쁜 토큰 내 전화를하고, 호출은 다음과 같은 예외가 발생합니다 : 내가 대답으로 게시합니다 몇 가지 추가 분석있어
#<NoMethodError: undefined method `any?' for nil:NilClass>
을하지만, 사람이 추가 통찰력이있는 경우 그것은 인정 될 것이다.
이 질문을 mechanize-users 메일 링리스트에 넣으려고했지만 중재자가 게시하지 않았습니다. 이것이 올바른 사용법이다
response-header: www-authenticate => Bearer realm=api.att.com,error=invalid_token, error_description=the token is not valid
the OAuth spec의 내 독서에서 :
왜 'nil.any?'가 오류를 발생시키는가요? – pguardiario
제 질문은 - 왜 oauth 토큰이 나쁜 요청을 보낼 때 Mechanize가 예기치 않게 동작 (관련없는 예외가 발생) 했습니까? Mechanize는 토큰이 나쁘다고 알려주는 데 필요한 모든 정보를 가지고 있지만 대신이 정의되지 않은 메서드 예외를 발생시킵니다. 나는 약간의 분석을했고, 나의 가장 좋은 추측은 아래의 첫 번째 대답으로 보여진다; 하지만 실제로 코드에 익숙한 사람이 실제로 확인하거나 수정하는 것을보고 싶습니다. – Bruce
누가 신경 쓰나요? NoChallengesException을 발생 시키면 아마 더 나을 것이지만 같은 방식으로 처리하고 오류를 잡아서 처리하십시오. – pguardiario