Module: Yao::Client
- Defined in:
- lib/yao/client.rb
Defined Under Namespace
Classes: ClientSet
Class Attribute Summary collapse
Class Method Summary collapse
- .client_generator ⇒ Yao::Plugins::DefaultClientGenerator
-
.client_options ⇒ Hash
generate Hash options for Faraday.new.
- .gen_client(endpoint, token: nil) ⇒ Faraday::Connection
- .reset_client(new_endpoint = nil) ⇒ Object
Class Attribute Details
.default_client ⇒ Yao::Client::ClientSet
91 92 93 |
# File 'lib/yao/client.rb', line 91 def default_client @default_client end |
Class Method Details
.client_generator ⇒ Yao::Plugins::DefaultClientGenerator
94 95 96 |
# File 'lib/yao/client.rb', line 94 def client_generator Plugins::Registry.instance[:client_generator][Yao.config.client_generator].new end |
.client_options ⇒ Hash
generate Hash options for Faraday.new
119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 |
# File 'lib/yao/client.rb', line 119 def opt = {} if Yao.config.timeout opt.merge!({ request: { timeout: Yao.config.timeout }}) end # Client Certificate Authentication if Yao.config.client_cert && Yao.config.client_key cert = OpenSSL::X509::Certificate.new(File.read(Yao.config.client_cert)) key = OpenSSL::PKey.read(File.read(Yao.config.client_key)) h = { client_cert: cert, client_key: key, } h[:ca_file] = Yao.config.ca_cert if Yao.config.ca_cert opt.merge!(ssl: h) end opt end |
.gen_client(endpoint, token: nil) ⇒ Faraday::Connection
101 102 103 104 105 |
# File 'lib/yao/client.rb', line 101 def gen_client(endpoint, token: nil) Faraday.new( endpoint, ) do |f| client_generator.call(f, token) end end |
.reset_client(new_endpoint = nil) ⇒ Object
108 109 110 111 112 113 114 115 |
# File 'lib/yao/client.rb', line 108 def reset_client(new_endpoint=nil) set = ClientSet.new endpoint = { "default" => {public_url: new_endpoint || Yao.config.endpoint} } set.register_endpoints(endpoint) self.default_client = set end |