Sha256: c4f8dbc957d9c66d02c8e435e0af39bd62f6142c65275f9d492745f01511447d

Contents?: true

Size: 1.37 KB

Versions: 82

Compression:

Stored size: 1.37 KB

Contents

module Recurly
  module HTTP
    class Response
      attr_accessor :status, :body, :request,
        :request_id, :rate_limit, :rate_limit_remaining,
        :rate_limit_reset, :date, :proxy_metadata,
        :content_type, :total_records

      def initialize(resp, request)
        @request = Request.new(request.method, request.path, request.body)
        @status = resp.code.to_i
        @request_id = resp["x-request-id"]
        @rate_limit = resp["x-ratelimit-limit"].to_i
        @rate_limit_remaining = resp["x-ratelimit-remaining"].to_i
        @rate_limit_reset = Time.at(resp["x-ratelimit-reset"].to_i).to_datetime
        @total_records = resp["recurly-total-records"]&.to_i
        if resp["content-type"]
          @content_type = resp["content-type"].split(";").first
        else
          @content_type = resp.content_type
        end
        if resp.body && !resp.body.empty?
          @body = resp.body
        else
          @body = nil
        end
      end
    end

    class Request
      attr_accessor :method, :path, :body

      def initialize(method, path, body = nil)
        @method = method
        @path = path
        if body && !body.empty?
          @body = body
        else
          @body = nil
        end
      end

      def ==(other)
        method == other.method \
          && path == other.path \
          && body == other.body
      end
    end
  end
end

Version data entries

82 entries across 82 versions & 1 rubygems

Version Path
recurly-4.56.0 lib/recurly/http.rb
recurly-4.55.0 lib/recurly/http.rb
recurly-4.54.0 lib/recurly/http.rb
recurly-4.53.0 lib/recurly/http.rb
recurly-4.52.0 lib/recurly/http.rb
recurly-4.49.0 lib/recurly/http.rb
recurly-4.48.1 lib/recurly/http.rb
recurly-4.48.0 lib/recurly/http.rb
recurly-4.47.0 lib/recurly/http.rb
recurly-4.46.0 lib/recurly/http.rb
recurly-4.45.0 lib/recurly/http.rb
recurly-4.44.0 lib/recurly/http.rb
recurly-4.43.0 lib/recurly/http.rb
recurly-4.42.0 lib/recurly/http.rb
recurly-4.41.0 lib/recurly/http.rb
recurly-4.40.0 lib/recurly/http.rb
recurly-4.39.0 lib/recurly/http.rb
recurly-4.38.0 lib/recurly/http.rb
recurly-4.37.0 lib/recurly/http.rb
recurly-3.28.0 lib/recurly/http.rb