Class: Consul::Async::VaultEndpoint
- Inherits:
-
Object
- Object
- Consul::Async::VaultEndpoint
- Defined in:
- lib/consul/async/vault_endpoint.rb
Overview
Endpoint in vault (a path in Vault)
Instance Attribute Summary collapse
-
#conf ⇒ Object
readonly
Returns the value of attribute conf.
-
#default_value ⇒ Object
readonly
Returns the value of attribute default_value.
-
#enforce_json_200 ⇒ Object
readonly
Returns the value of attribute enforce_json_200.
-
#http_method ⇒ Object
readonly
Returns the value of attribute http_method.
-
#last_result ⇒ Object
readonly
Returns the value of attribute last_result.
-
#path ⇒ Object
readonly
Returns the value of attribute path.
-
#query_params ⇒ Object
readonly
Returns the value of attribute query_params.
-
#queue ⇒ Object
readonly
Returns the value of attribute queue.
-
#start_time ⇒ Object
readonly
Returns the value of attribute start_time.
-
#stats ⇒ Object
readonly
Returns the value of attribute stats.
Instance Method Summary collapse
- #_enable_network_debug ⇒ Object
-
#initialize(conf, path, http_method = 'GET', enforce_json_200 = true, query_params = {}, default_value = '{}', post_data = {}, agent: nil) ⇒ VaultEndpoint
constructor
A new instance of VaultEndpoint.
- #on_error(&block) ⇒ Object
- #on_response(&block) ⇒ Object
- #ready? ⇒ Boolean
- #terminate ⇒ Object
Constructor Details
#initialize(conf, path, http_method = 'GET', enforce_json_200 = true, query_params = {}, default_value = '{}', post_data = {}, agent: nil) ⇒ VaultEndpoint
Returns a new instance of VaultEndpoint.
132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 |
# File 'lib/consul/async/vault_endpoint.rb', line 132 def initialize(conf, path, http_method = 'GET', enforce_json_200 = true, query_params = {}, default_value = '{}', post_data = {}, agent: nil) @conf = conf.create(path, agent: agent) @default_value = default_value @path = path @http_method = http_method @queue = EM::Queue.new @x_consul_index = 0 @s_callbacks = [] @e_callbacks = [] @enforce_json_200 = enforce_json_200 @start_time = Time.now.utc @consecutive_errors = 0 @query_params = query_params @post_data = post_data @stopping = false @stats = EndPointStats.new @last_result = VaultResult.new(VaultHttpResponse.new(nil, default_value), false, stats, 1) on_response { |result| @stats.on_response result } on_error { |http| @stats.on_error http } _enable_network_debug if conf.debug && conf.debug[:network] fetch queue.push 0 end |
Instance Attribute Details
#conf ⇒ Object (readonly)
Returns the value of attribute conf.
130 131 132 |
# File 'lib/consul/async/vault_endpoint.rb', line 130 def conf @conf end |
#default_value ⇒ Object (readonly)
Returns the value of attribute default_value.
130 131 132 |
# File 'lib/consul/async/vault_endpoint.rb', line 130 def default_value @default_value end |
#enforce_json_200 ⇒ Object (readonly)
Returns the value of attribute enforce_json_200.
130 131 132 |
# File 'lib/consul/async/vault_endpoint.rb', line 130 def enforce_json_200 @enforce_json_200 end |
#http_method ⇒ Object (readonly)
Returns the value of attribute http_method.
130 131 132 |
# File 'lib/consul/async/vault_endpoint.rb', line 130 def http_method @http_method end |
#last_result ⇒ Object (readonly)
Returns the value of attribute last_result.
130 131 132 |
# File 'lib/consul/async/vault_endpoint.rb', line 130 def last_result @last_result end |
#path ⇒ Object (readonly)
Returns the value of attribute path.
130 131 132 |
# File 'lib/consul/async/vault_endpoint.rb', line 130 def path @path end |
#query_params ⇒ Object (readonly)
Returns the value of attribute query_params.
130 131 132 |
# File 'lib/consul/async/vault_endpoint.rb', line 130 def query_params @query_params end |
#queue ⇒ Object (readonly)
Returns the value of attribute queue.
130 131 132 |
# File 'lib/consul/async/vault_endpoint.rb', line 130 def queue @queue end |
#start_time ⇒ Object (readonly)
Returns the value of attribute start_time.
130 131 132 |
# File 'lib/consul/async/vault_endpoint.rb', line 130 def start_time @start_time end |
#stats ⇒ Object (readonly)
Returns the value of attribute stats.
130 131 132 |
# File 'lib/consul/async/vault_endpoint.rb', line 130 def stats @stats end |
Instance Method Details
#_enable_network_debug ⇒ Object
156 157 158 159 160 161 162 163 164 165 166 |
# File 'lib/consul/async/vault_endpoint.rb', line 156 def _enable_network_debug on_response do |result| state = result.x_consul_index.to_i < 1 ? '[WARN]' : '[ OK ]' stats = result.stats warn "[DBUG]#{state}#{result.modified? ? '[MODFIED]' : '[NO DIFF]'}" \ "[s:#{stats.successes},err:#{stats.errors}]" \ "[#{stats.body_bytes_human.ljust(8)}][#{stats.bytes_per_sec_human.ljust(9)}]"\ " #{path.ljust(48)} idx:#{result.x_consul_index}, next in #{result.retry_in} s" end on_error { |http| ::Consul::Async::Debug.puts_error "#{path}: #{http.error}" } end |
#on_error(&block) ⇒ Object
172 173 174 |
# File 'lib/consul/async/vault_endpoint.rb', line 172 def on_error(&block) @e_callbacks << block end |
#on_response(&block) ⇒ Object
168 169 170 |
# File 'lib/consul/async/vault_endpoint.rb', line 168 def on_response(&block) @s_callbacks << block end |
#ready? ⇒ Boolean
176 177 178 |
# File 'lib/consul/async/vault_endpoint.rb', line 176 def ready? @ready end |
#terminate ⇒ Object
180 181 182 |
# File 'lib/consul/async/vault_endpoint.rb', line 180 def terminate @stopping = true end |