Sha256: 10bf1368560efb2b4bdaf3e388c6e79629363e249547cf1b587564d1c096235a
Contents?: true
Size: 1.73 KB
Versions: 1
Compression:
Stored size: 1.73 KB
Contents
require 'restfully/http/adapters/abstract_adapter' require 'restclient' module Restfully module HTTP module Adapters class RestClientAdapter < AbstractAdapter def initialize(base_uri, options = {}) super(base_uri, options) @options[:user] = @options.delete(:username) end # def initialize def head(request) in_order_to_get_the_response_to(request) do |resource| resource.head(request.headers) end end # def get def get(request) in_order_to_get_the_response_to(request) do |resource| resource.get(request.headers) end end # def get def delete(request) in_order_to_get_the_response_to(request) do |resource| resource.delete(request.headers) end end # def delete def post(request) in_order_to_get_the_response_to(request) do |resource| resource.post(request.raw_body, request.headers) end end # def post protected def in_order_to_get_the_response_to(request, &block) begin resource = RestClient::Resource.new(request.uri.to_s, @options) response = block.call(resource) headers = response.headers body = response.to_s headers.delete(:status) status = response.code rescue RestClient::ExceptionWithResponse => e body = e.response.to_s headers = e.response.headers status = e.http_code end Response.new(status, headers, body) end # def in_order_to_get_the_response_to end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
restfully-0.5.3 | lib/restfully/http/adapters/rest_client_adapter.rb |