mirror of
https://github.com/HoneyryderChuck/httpx.git
synced 2025-08-10 00:01:27 -04:00
chainable: defining request objects more dynamically; also, fixed the call with multiple uris
This commit is contained in:
parent
0e6cbee92e
commit
2a2d5e0b7a
@ -2,40 +2,10 @@
|
||||
|
||||
module HTTPX
|
||||
module Chainable
|
||||
def head(uri, **options)
|
||||
request(:head, uri, **options)
|
||||
end
|
||||
|
||||
def get(uri, **options)
|
||||
request(:get, uri, **options)
|
||||
end
|
||||
|
||||
def post(uri, **options)
|
||||
request(:post, uri, **options)
|
||||
end
|
||||
|
||||
def put(uri, **options)
|
||||
request(:put, uri, **options)
|
||||
end
|
||||
|
||||
def delete(uri, **options)
|
||||
request(:delete, uri, **options)
|
||||
end
|
||||
|
||||
def trace(uri, **options)
|
||||
request(:trace, uri, **options)
|
||||
end
|
||||
|
||||
def options(uri, **options)
|
||||
request(:options, uri, **options)
|
||||
end
|
||||
|
||||
def connect(uri, **options)
|
||||
request(:connect, uri, **options)
|
||||
end
|
||||
|
||||
def patch(uri, **options)
|
||||
request(:patch, uri, **options)
|
||||
%i[head get post put delete trace options connect patch].each do |meth|
|
||||
define_method meth do |*uri, **options|
|
||||
request(meth, *uri, **options)
|
||||
end
|
||||
end
|
||||
|
||||
def request(verb, uri, **options)
|
||||
|
@ -58,18 +58,17 @@ module HTTPX
|
||||
case args.size
|
||||
when 1
|
||||
reqs = args.first
|
||||
requests = reqs.map do |verb, uri, opts = {}|
|
||||
__build_req(verb, uri, options.merge(opts))
|
||||
requests = reqs.map do |verb, uri|
|
||||
__build_req(verb, uri, options)
|
||||
end
|
||||
when 2, 3
|
||||
verb, uris, opts = args
|
||||
opts ||= {}
|
||||
verb, *uris = args
|
||||
if uris.respond_to?(:each)
|
||||
requests = uris.map do |uri|
|
||||
__build_req(verb, uri, options.merge(opts))
|
||||
__build_req(verb, uri, options)
|
||||
end
|
||||
else
|
||||
[ __build_req(verb, uris, options.merge(opts)) ]
|
||||
[ __build_req(verb, uris, options) ]
|
||||
end
|
||||
else
|
||||
raise ArgumentError, "unsupported number of arguments"
|
||||
|
Loading…
x
Reference in New Issue
Block a user