2
class ConnectionError < StandardError # :nodoc:
5
def initialize(response, message = nil)
11
"Failed with #{response.code} #{response.message if response.respond_to?(:message)}"
15
# Raised when a Timeout::Error occurs.
16
class TimeoutError < ConnectionError
17
def initialize(message)
20
def to_s; @message ;end
23
# Raised when a OpenSSL::SSL::SSLError occurs.
24
class SSLError < ConnectionError
25
def initialize(message)
28
def to_s; @message ;end
32
class Redirection < ConnectionError # :nodoc:
33
def to_s; response['Location'] ? "#{super} => #{response['Location']}" : super; end
37
class ClientError < ConnectionError; end # :nodoc:
40
class BadRequest < ClientError; end # :nodoc
43
class UnauthorizedAccess < ClientError; end # :nodoc
46
class ForbiddenAccess < ClientError; end # :nodoc
49
class ResourceNotFound < ClientError; end # :nodoc:
52
class ResourceConflict < ClientError; end # :nodoc:
55
class ResourceGone < ClientError; end # :nodoc:
58
class ServerError < ConnectionError; end # :nodoc:
60
# 405 Method Not Allowed
61
class MethodNotAllowed < ClientError # :nodoc:
63
@response['Allow'].split(',').map { |verb| verb.strip.downcase.to_sym }