Class: Puppet::Network::HTTP::API

Inherits:
Object
  • Object
show all
Defined in:
lib/puppet/network/http/api.rb,
lib/puppet/network/http/api/server.rb,
lib/puppet/network/http/api/server/v3.rb,
lib/puppet/network/http/api/server/v3/environments.rb

Defined Under Namespace

Modules: Server Classes: IndirectedRoutes, IndirectionType

Constant Summary collapse

Master =
Puppet::Network::HTTP::API::Server

Class Method Summary collapse

Class Method Details

.master_routesObject



38
39
40
# File 'lib/puppet/network/http/api.rb', line 38

def self.master_routes
  server_routes
end

.not_foundObject



6
7
8
9
10
11
12
# File 'lib/puppet/network/http/api.rb', line 6

def self.not_found
  Puppet::Network::HTTP::Route
    .path(/.*/)
    .any(lambda do |req, _res|
      raise Puppet::Network::HTTP::Error::HTTPNotFoundError.new("No route for #{req.method} #{req.path}", Puppet::Network::HTTP::Issues::HANDLER_NOT_FOUND)
    end)
end

.not_found_upgradeObject



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/puppet/network/http/api.rb', line 14

def self.not_found_upgrade
  Puppet::Network::HTTP::Route
    .path(/.*/)
    .any(lambda do |_req, _res|
      raise Puppet::Network::HTTP::Error::HTTPNotFoundError.new("Error: Invalid URL - Puppet expects requests that conform to the " \
                                                                "/puppet and /puppet-ca APIs.\n\n" \
                                                                "Note that Puppet 3 agents aren't compatible with this version; if you're " \
                                                                "running Puppet 3, you must either upgrade your agents to match the server " \
                                                                "or point them to a server running Puppet 3.\n\n" \
                                                                "Server Info:\n" \
                                                                "  Puppet version: #{Puppet.version}\n" \
                                                                "  Supported /puppet API versions: #{Puppet::Network::HTTP::SERVER_URL_VERSIONS}\n",
                                                                Puppet::Network::HTTP::Issues::HANDLER_NOT_FOUND)
    end)
end

.server_routesObject



30
31
32
33
34
35
36
# File 'lib/puppet/network/http/api.rb', line 30

def self.server_routes
  server_prefix = Regexp.new("^#{Puppet::Network::HTTP::SERVER_URL_PREFIX}/")
  Puppet::Network::HTTP::Route.path(server_prefix)
                              .any
                              .chain(Puppet::Network::HTTP::API::Server::V3.routes,
                                     Puppet::Network::HTTP::API.not_found)
end