Class: ScaleChain::NodeController

Inherits:
Object
  • Object
show all
Defined in:
lib/scalechain/controllers/node_controller.rb

Instance Method Summary collapse

Instance Method Details

#delete(id) ⇒ Object

Returns the deleted node id.



79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
# File 'lib/scalechain/controllers/node_controller.rb', line 79

def delete id
  # the base uri for api requests

  query_builder = Configuration.BASE_URI.dup

  # prepare query string for API call

  query_builder << "/nodes/delete"

  # validate and preprocess url

  query_url = APIHelper.clean_url query_builder

  # prepare headers

  headers = {
    "user-agent" => "APIMATIC 2.0",
    "accept" => "application/json",
    "Authorization" => "Bearer %s" % (Configuration.o_auth_access_token)
  }

  # prepare parameters

  parameters = {
    "id" => id
  }

  # invoke the API call request to fetch the response

  response = Unirest.delete query_url, headers:headers, parameters:parameters

  #Error handling using HTTP status codes

  if !(response.code.between?(200,206)) # [200,206] = HTTP OK

    raise APIException.new "HTTP Response Not OK", response.code, response.raw_body
  end

  response.body
end

#list(network) ⇒ Object

Returns a collection of nodes for the authorized user.



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
# File 'lib/scalechain/controllers/node_controller.rb', line 9

def list network
  # the base uri for api requests

  query_builder = Configuration.BASE_URI.dup

  # prepare query string for API call

  query_builder << "/nodes/list"

  # validate and preprocess url

  query_url = APIHelper.clean_url query_builder

  # prepare headers

  headers = {
    "user-agent" => "APIMATIC 2.0",
    "accept" => "application/json",
    "Authorization" => "Bearer %s" % (Configuration.o_auth_access_token),
    "network" => network
  }

  # invoke the API call request to fetch the response

  response = Unirest.get query_url, headers:headers

  #Error handling using HTTP status codes

  if !(response.code.between?(200,206)) # [200,206] = HTTP OK

    raise APIException.new "HTTP Response Not OK", response.code, response.raw_body
  end

  response.body
end

#register(node, network) ⇒ Object

Returns a newly registered node.



42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
# File 'lib/scalechain/controllers/node_controller.rb', line 42

def register node, network
  # the base uri for api requests

  query_builder = Configuration.BASE_URI.dup

  # prepare query string for API call

  query_builder << "/nodes/new"

  # validate and preprocess url

  query_url = APIHelper.clean_url query_builder

  # prepare headers

  headers = {
    "user-agent" => "APIMATIC 2.0",
    "accept" => "application/json",
    "Authorization" => "Bearer %s" % (Configuration.o_auth_access_token),
    "network" => network
  }

  # prepare parameters

  parameters = {
    "node" => node
  }

  # invoke the API call request to fetch the response

  response = Unirest.post query_url, headers:headers, parameters:parameters

  #Error handling using HTTP status codes

  if !(response.code.between?(200,206)) # [200,206] = HTTP OK

    raise APIException.new "HTTP Response Not OK", response.code, response.raw_body
  end

  response.body
end