Class: Totvs::PasswordVault::Connection
- Inherits:
-
Object
- Object
- Totvs::PasswordVault::Connection
- Defined in:
- lib/totvs/password_vault/connection.rb
Defined Under Namespace
Classes: Error, 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
122 123 124 |
# File 'lib/totvs/password_vault/connection.rb', line 122 def consumer_key @consumer_key ||= ENV["VAULT_CONSUMER_KEY"] end |
#consumer_secret ⇒ String
127 128 129 |
# File 'lib/totvs/password_vault/connection.rb', line 127 def consumer_secret @consumer_secret ||= ENV["VAULT_CONSUMER_SECRET"] end |
#vault_access_token ⇒ String
137 138 139 |
# File 'lib/totvs/password_vault/connection.rb', line 137 def vault_access_token @vault_access_token ||= ENV["VAULT_ACCESS_TOKEN"] end |
#vault_access_token_secret ⇒ String
142 143 144 |
# File 'lib/totvs/password_vault/connection.rb', line 142 def vault_access_token_secret @vault_access_token_secret ||= ENV["VAULT_ACCESS_TOKEN_SECRET"] end |
#vault_base_url ⇒ String
132 133 134 |
# File 'lib/totvs/password_vault/connection.rb', line 132 def vault_base_url @vault_base_url ||= ENV["VAULT_BASE_URL"] end |
Instance Method Details
#access_token ⇒ OAuth::AccessToken
Returns the oauth access token
52 53 54 55 56 57 58 |
# File 'lib/totvs/password_vault/connection.rb', line 52 def access_token @access_token ||= OAuth::AccessToken.new( consumer, vault_access_token, vault_access_token_secret ) end |
#consumer ⇒ OAuth::Consumer
Returns the oauth consumer
42 43 44 45 46 47 48 |
# File 'lib/totvs/password_vault/connection.rb', line 42 def consumer @consumer ||= OAuth::Consumer.new( consumer_key, consumer_secret, site: vault_base_url ) end |
#delete(path:, headers: {}) ⇒ Response
Returns response.
114 115 116 117 118 119 |
# File 'lib/totvs/password_vault/connection.rb', line 114 def delete(path:, headers: {}) response = make_request(:delete, path, headers) validate_success! response wrap_response response end |
#get(path:, headers: {}) ⇒ Response
Returns response.
84 85 86 87 88 89 |
# File 'lib/totvs/password_vault/connection.rb', line 84 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
75 76 77 78 79 |
# File 'lib/totvs/password_vault/connection.rb', line 75 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.
94 95 96 97 98 99 |
# File 'lib/totvs/password_vault/connection.rb', line 94 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.
104 105 106 107 108 109 |
# File 'lib/totvs/password_vault/connection.rb', line 104 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
62 63 64 |
# File 'lib/totvs/password_vault/connection.rb', line 62 def requester access_token end |