File: errors.rb

package info (click to toggle)
puppet-agent 8.10.0-6
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 27,404 kB
  • sloc: ruby: 286,820; sh: 492; xml: 116; makefile: 88; cs: 68
file content (50 lines) | stat: -rw-r--r-- 1,388 bytes parent folder | download | duplicates (2)
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
39
40
41
42
43
44
45
46
47
48
49
50
# frozen_string_literal: true

module Puppet::HTTP
  # A base class for puppet http errors
  # @api public
  class HTTPError < Puppet::Error; end

  # A connection error such as if the server refuses the connection.
  # @api public
  class ConnectionError < HTTPError; end

  # A failure to route to the server such as if the `server_list` is exhausted.
  # @api public
  class RouteError < HTTPError; end

  # An HTTP protocol error, such as the server's response missing a required header.
  # @api public
  class ProtocolError < HTTPError; end

  # An error serializing or deserializing an object via REST.
  # @api public
  class SerializationError < HTTPError; end

  # An error due to an unsuccessful HTTP response, such as HTTP 500.
  # @api public
  class ResponseError < HTTPError
    attr_reader :response

    def initialize(response)
      super(response.reason)
      @response = response
    end
  end

  # An error if asked to follow too many redirects (such as HTTP 301).
  # @api public
  class TooManyRedirects < HTTPError
    def initialize(addr)
      super(_("Too many HTTP redirections for %{addr}") % { addr: addr })
    end
  end

  # An error if asked to retry (such as HTTP 503) too many times.
  # @api public
  class TooManyRetryAfters < HTTPError
    def initialize(addr)
      super(_("Too many HTTP retries for %{addr}") % { addr: addr })
    end
  end
end