Sha256: 3230e14232256ec08e913ac76d7a90a3c0c1bbd02c703fc09fb053fdfd89525d
Contents?: true
Size: 1.38 KB
Versions: 1
Compression:
Stored size: 1.38 KB
Contents
module WP module HMAC class Client class UnsuccessfulResponse < StandardError; end def initialize(url = nil, app = Rack::Client::Handler::NetHTTP) build_rack_client(url, app) end def build_rack_client(url, app) id = key_cabinet.id auth_key = key_cabinet.auth_key @client = Rack::Client.new(url) do use Rack::Config do |env| env['HTTP_DATE'] = Time.now.httpdate end use EY::ApiHMAC::ApiAuth::Client, id, auth_key run app end @client end def key_cabinet @key_cabinet ||= HMAC::KeyCabinet.find_by_auth_id(HMAC.auth_id) end # Supports: # client = WP::HMAC::Client.new('https://www.example.com') # client.get('api/staff') %i(delete get head options post put patch).each do |method| define_method(method) do |*args| response = @client.send(method, *args) raise UnsuccessfulResponse unless /2\d\d/.match("#{response.status}") response end end # Supports: # WP::HMAC::Client.get('https://www.example.com/api/staff') class << self %i(delete get head options post put patch).each do |method| define_method(method) do |*args| client = Client.new client.send(method, *args) end end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
wp-hmac-0.2.2 | lib/wp/hmac/client.rb |