diff --git a/lib/travis/client/session.rb b/lib/travis/client/session.rb index 76da2cf9..e62232e0 100644 --- a/lib/travis/client/session.rb +++ b/lib/travis/client/session.rb @@ -218,7 +218,12 @@ def raw(verb, url, *args) when 301, 303 then raw(:get, result.headers['Location']) when 302, 307, 308 then raw(verb, result.headers['Location']) when 401 then raise Travis::Client::NotLoggedIn, 'not logged in' - when 403 then raise Travis::Client::NotLoggedIn, 'invalid access token' + when 403 then + if headers.key?("Authorization") + raise Travis::Client::NotLoggedIn, 'invalid access token' + else + raise Travis::Client::Error, "received 403 from %s; your IP may have been blacklisted" % [uri + url] + end when 404 then raise Travis::Client::NotFound, result.body when 422 then raise Travis::Client::ValidationFailed, result.body when 400..499 then raise Travis::Client::Error, "%s: %p" % [result.status, result.body]