Class: GdsApi::Router

Inherits:
Base
  • Object
show all
Defined in:
lib/gds_api/router.rb

Overview

require_relative ‘exceptions’

Instance Attribute Summary

Attributes inherited from Base

#options

Instance Method Summary collapse

Methods inherited from Base

#client, #create_client, #get_list!, #initialize, #url_for_slug

Constructor Details

This class inherits a constructor from GdsApi::Base

Instance Method Details

#add_backend(id, url) ⇒ Object



12
13
14
# File 'lib/gds_api/router.rb', line 12

def add_backend(id, url)
  put_json!("#{endpoint}/backends/#{CGI.escape(id)}", :backend => {:backend_url => url})
end

#add_redirect_route(path, type, destination, redirect_type = "permanent", options = {}) ⇒ Object



32
33
34
35
36
37
# File 'lib/gds_api/router.rb', line 32

def add_redirect_route(path, type, destination, redirect_type = "permanent", options = {})
  response = put_json!("#{endpoint}/routes", :route => {:incoming_path => path, :route_type => type, :handler => "redirect",
            :redirect_to => destination, :redirect_type => redirect_type})
  commit_routes unless options[:skip_commit]
  response
end

#add_route(path, type, backend_id, options = {}) ⇒ Object



26
27
28
29
30
# File 'lib/gds_api/router.rb', line 26

def add_route(path, type, backend_id, options = {})
  response = put_json!("#{endpoint}/routes", :route => {:incoming_path => path, :route_type => type, :handler => "backend", :backend_id => backend_id})
  commit_routes unless options[:skip_commit]
  response
end

#commit_routesObject



45
46
47
# File 'lib/gds_api/router.rb', line 45

def commit_routes
  post_json!("#{endpoint}/routes/commit", {})
end

#delete_backend(id) ⇒ Object



16
17
18
# File 'lib/gds_api/router.rb', line 16

def delete_backend(id)
  delete_json!("#{endpoint}/backends/#{CGI.escape(id)}")
end

#delete_route(path, type, options = {}) ⇒ Object



39
40
41
42
43
# File 'lib/gds_api/router.rb', line 39

def delete_route(path, type, options = {})
  response = delete_json!("#{endpoint}/routes?incoming_path=#{CGI.escape(path)}&route_type=#{CGI.escape(type)}")
  commit_routes unless options[:skip_commit]
  response
end

#get_backend(id) ⇒ Object

Backends



8
9
10
# File 'lib/gds_api/router.rb', line 8

def get_backend(id)
  get_json("#{endpoint}/backends/#{CGI.escape(id)}")
end

#get_route(path, type) ⇒ Object

Routes



22
23
24
# File 'lib/gds_api/router.rb', line 22

def get_route(path, type)
  get_json("#{endpoint}/routes?incoming_path=#{CGI.escape(path)}&route_type=#{CGI.escape(type)}")
end