Sha256: 18eaf8c6a7f826ed092860f0bce8afac545b2aad94627034c7b8582a3ef3b17d
Contents?: true
Size: 665 Bytes
Versions: 3
Compression:
Stored size: 665 Bytes
Contents
# frozen_string_literal: true require "uri" module SeaShanty class Request attr_reader :method, :url, :headers, :body def initialize(method:, url:, headers:, body:) @method = method @url = case url when String URI.parse(url) when URI url else raise ArgumentError, "url should be a String or an URI" end @headers = headers @body = body end def to_h { method: method.to_s, url: url.to_s, headers: headers, body: { string: body.to_s, encoding: body.nil? ? "" : body.encoding.name } } end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
sea_shanty-0.2.0 | lib/sea_shanty/request.rb |
sea_shanty-0.1.1 | lib/sea_shanty/request.rb |
sea_shanty-0.1.0 | lib/sea_shanty/request.rb |