You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
48 lines
1.2 KiB
48 lines
1.2 KiB
# frozen_string_literal: true |
|
|
|
module Mastodon |
|
class Error < StandardError; end |
|
class NotPermittedError < Error; end |
|
class ValidationError < Error; end |
|
class HostValidationError < ValidationError; end |
|
class LengthValidationError < ValidationError; end |
|
class DimensionsValidationError < ValidationError; end |
|
class StreamValidationError < ValidationError; end |
|
class RaceConditionError < Error; end |
|
class RateLimitExceededError < Error; end |
|
class SyntaxError < Error; end |
|
class InvalidParameterError < Error; end |
|
class SignatureVerificationError < Error; end |
|
class MalformedHeaderError < Error; end |
|
class RecursionLimitExceededError < Error; end |
|
|
|
class UnexpectedResponseError < Error |
|
attr_reader :response |
|
|
|
def initialize(response = nil) |
|
@response = response |
|
|
|
if response.respond_to? :uri |
|
super("#{response.uri} returned code #{response.code}") |
|
else |
|
super |
|
end |
|
end |
|
end |
|
|
|
class PrivateNetworkAddressError < HostValidationError |
|
attr_reader :host |
|
|
|
def initialize(host) |
|
@host = host |
|
super() |
|
end |
|
end |
|
|
|
HTTP_CONNECTION_ERRORS = [ |
|
HTTP::ConnectionError, |
|
HTTP::Error, |
|
HTTP::TimeoutError, |
|
OpenSSL::SSL::SSLError, |
|
].freeze |
|
end
|
|
|