about summary refs log tree commit diff
path: root/lib/exceptions.rb
blob: d3b92f4a09300f72dee66d3249b5f3de29342794 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# 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 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
end