Sha256: 66f0e83d11c648f98bb9d41f5b687b0e3758bcc7f16bc826a1b07c066a705f9e
Contents?: true
Size: 852 Bytes
Versions: 11
Compression:
Stored size: 852 Bytes
Contents
require "net/http" require "openssl" module AkamaiCCU class Client attr_reader :net_klass, :host def initialize(host:, net_klass: Net::HTTP) @host = host @net_klass = net_klass end def call(path: "/", method: POST, initheader: JSON_HEADER) request(path, method, initheader) yield @request if block_given? Thread.new { http.request(@request) }.value end private def base_uri @base_uri ||= URI("#{SSL}://#{host}") end private def http @http ||= @net_klass.new(base_uri.host, base_uri.port).tap do |http| http.use_ssl = true http.verify_mode = OpenSSL::SSL::VERIFY_PEER end end private def request(path, klass = GET, initheader = nil) @request ||= @net_klass.const_get(klass).new(base_uri.merge(path).to_s, initheader) end end end
Version data entries
11 entries across 11 versions & 1 rubygems