Class: Totvs::PasswordVault::Connection
- Inherits:
-
Object
- Object
- Totvs::PasswordVault::Connection
- Defined in:
- lib/totvs/password_vault/connection.rb
Defined Under Namespace
Classes: Error, InactiveRegistryError, RegistryNotFoundError, RequestFailure, TimeoutError
Instance Attribute Summary collapse
- #consumer_key ⇒ String
- #consumer_secret ⇒ String
- #vault_access_token ⇒ String
- #vault_access_token_secret ⇒ String
- #vault_base_url ⇒ String
Instance Method Summary collapse
-
#access_token ⇒ OAuth::AccessToken
Returns the oauth access token.
-
#consumer ⇒ OAuth::Consumer
Returns the oauth consumer.
-
#delete(path:, headers: {}) ⇒ Response
Response.
-
#get(path:, headers: {}) ⇒ Response
Response.
-
#make_request(http_method, path, *args) ⇒ Net::HTTPResponse
Makes a http request.
-
#post(path:, body: nil, headers: {}) ⇒ Response
Response.
-
#put(path:, body: nil, headers: {}) ⇒ Response
Response.
-
#requester ⇒ OAuth::AccessToken
Alias access token.
-
#wrap_response(response) ⇒ Response
Wraps the response to a Response object.
Instance Attribute Details
#consumer_key ⇒ String
125 126 127 |
# File 'lib/totvs/password_vault/connection.rb', line 125 def consumer_key @consumer_key ||= ENV["VAULT_CONSUMER_KEY"] end |
#consumer_secret ⇒ String
130 131 132 |
# File 'lib/totvs/password_vault/connection.rb', line 130 def consumer_secret @consumer_secret ||= ENV["VAULT_CONSUMER_SECRET"] end |
#vault_access_token ⇒ String
140 141 142 |
# File 'lib/totvs/password_vault/connection.rb', line 140 def vault_access_token @vault_access_token ||= ENV["VAULT_ACCESS_TOKEN"] end |
#vault_access_token_secret ⇒ String
145 146 147 |
# File 'lib/totvs/password_vault/connection.rb', line 145 def vault_access_token_secret @vault_access_token_secret ||= ENV["VAULT_ACCESS_TOKEN_SECRET"] end |
#vault_base_url ⇒ String
135 136 137 |
# File 'lib/totvs/password_vault/connection.rb', line 135 def vault_base_url @vault_base_url ||= ENV["VAULT_BASE_URL"] end |
Instance Method Details
#access_token ⇒ OAuth::AccessToken
Returns the oauth access token
55 56 57 58 59 60 61 |
# File 'lib/totvs/password_vault/connection.rb', line 55 def access_token @access_token ||= OAuth::AccessToken.new( consumer, vault_access_token, vault_access_token_secret ) end |
#consumer ⇒ OAuth::Consumer
Returns the oauth consumer
45 46 47 48 49 50 51 |
# File 'lib/totvs/password_vault/connection.rb', line 45 def consumer @consumer ||= OAuth::Consumer.new( consumer_key, consumer_secret, site: vault_base_url ) end |
#delete(path:, headers: {}) ⇒ Response
Returns response.
117 118 119 120 121 122 |
# File 'lib/totvs/password_vault/connection.rb', line 117 def delete(path:, headers: {}) response = make_request(:delete, path, headers) validate_success! response wrap_response response end |
#get(path:, headers: {}) ⇒ Response
Returns response.
87 88 89 90 91 92 |
# File 'lib/totvs/password_vault/connection.rb', line 87 def get(path:, headers: {}) response = make_request(:get, path, headers) validate_success! response wrap_response response end |
#make_request(http_method, path, *args) ⇒ Net::HTTPResponse
Makes a http request
78 79 80 81 82 |
# File 'lib/totvs/password_vault/connection.rb', line 78 def make_request(http_method, path, *args) requester.request http_method, path, *args rescue Timeout::Error => e raise TimeoutError, "#{http_method.to_s.upcase}: #{path}. #{e}" end |
#post(path:, body: nil, headers: {}) ⇒ Response
Returns response.
97 98 99 100 101 102 |
# File 'lib/totvs/password_vault/connection.rb', line 97 def post(path:, body: nil, headers: {}) response = make_request(:post, path, body, headers) validate_success! response wrap_response response end |
#put(path:, body: nil, headers: {}) ⇒ Response
Returns response.
107 108 109 110 111 112 |
# File 'lib/totvs/password_vault/connection.rb', line 107 def put(path:, body: nil, headers: {}) response = make_request(:put, path, body, headers) validate_success! response wrap_response response end |
#requester ⇒ OAuth::AccessToken
Alias access token
65 66 67 |
# File 'lib/totvs/password_vault/connection.rb', line 65 def requester access_token end |
#wrap_response(response) ⇒ Response
Wraps the response to a Response object
151 152 153 154 155 |
# File 'lib/totvs/password_vault/connection.rb', line 151 def wrap_response(response) Response.new status_code: response.code.to_i, body: response.body, content_type: response.content_type end |