fetch-api 0.3.2 → 0.3.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/lib/fetch/client.rb +5 -7
- data/lib/fetch/form_data.rb +0 -2
- data/lib/fetch/headers.rb +0 -2
- data/lib/fetch/response.rb +2 -2
- data/lib/fetch/url_search_params.rb +0 -2
- data/lib/fetch/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 872edd7141621bba9ac97f850fd7affb5daf229d3c2db581bf2f5422424fdecf
|
4
|
+
data.tar.gz: 1bcce61d1a762827070efc219024d3520b5c2959ede385bcfc2b3ba5d6897dc3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4c88efee5d27ab2b0d1765e68d59625fc2b8249f70ced9bcee8467999b7c0f3a59bc43f4289b0e6510b6d31782c16a2e95577dce57294c9281ac6b0c8556cff9
|
7
|
+
data.tar.gz: deb9958e04948dc8e9c809d44517cda3af48497984297478046c0707f28d3daf9dca5fc665b86240bd92c4e77ca9f34b530111c193d9e0e878dfd28397888bc2
|
data/README.md
CHANGED
@@ -46,7 +46,7 @@ res = fetch('https://example.com')
|
|
46
46
|
Options for `fetch` method:
|
47
47
|
|
48
48
|
- `method`: HTTP method (default: `:get`)
|
49
|
-
- `headers`: Request headers (default: `
|
49
|
+
- `headers`: Request headers (default: `[]`)
|
50
50
|
- `body`: Request body (default: `nil`)
|
51
51
|
- `redirect`: Follow redirects (one of `:follow`, `:error`, `:manual`, default: `:follow`)
|
52
52
|
|
data/lib/fetch/client.rb
CHANGED
@@ -4,7 +4,7 @@ require_relative 'headers'
|
|
4
4
|
require_relative 'response'
|
5
5
|
require_relative 'url_search_params'
|
6
6
|
|
7
|
-
require '
|
7
|
+
require 'mini_mime'
|
8
8
|
require 'net/http'
|
9
9
|
require 'singleton'
|
10
10
|
require 'uri'
|
@@ -13,7 +13,7 @@ module Fetch
|
|
13
13
|
class Client
|
14
14
|
include Singleton
|
15
15
|
|
16
|
-
def fetch(resource, method: :get, headers: [], body: nil, redirect:
|
16
|
+
def fetch(resource, method: :get, headers: [], body: nil, redirect: :follow, _redirected: false)
|
17
17
|
uri = URI.parse(resource)
|
18
18
|
req = Net::HTTP.const_get(method.capitalize).new(uri)
|
19
19
|
|
@@ -23,20 +23,18 @@ module Fetch
|
|
23
23
|
|
24
24
|
case body
|
25
25
|
when FormData
|
26
|
-
req.set_form body.
|
26
|
+
req.set_form body.map {|k, v|
|
27
27
|
if v.is_a?(File)
|
28
28
|
[k, v, {
|
29
29
|
filename: File.basename(v.path),
|
30
|
-
content_type:
|
30
|
+
content_type: MiniMime.lookup_by_filename(v.path)&.content_type || 'application/octet-stream'
|
31
31
|
}]
|
32
32
|
else
|
33
33
|
[k, v]
|
34
34
|
end
|
35
35
|
}, 'multipart/form-data'
|
36
36
|
when URLSearchParams
|
37
|
-
req
|
38
|
-
|
39
|
-
req.body = body.to_s
|
37
|
+
req.set_form_data body.entries
|
40
38
|
else
|
41
39
|
req.body = body
|
42
40
|
end
|
data/lib/fetch/form_data.rb
CHANGED
data/lib/fetch/headers.rb
CHANGED
data/lib/fetch/response.rb
CHANGED
data/lib/fetch/version.rb
CHANGED
metadata
CHANGED
@@ -1,17 +1,17 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fetch-api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Keita Urashima
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-07-
|
11
|
+
date: 2024-07-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
14
|
+
name: mini_mime
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
17
|
- - ">="
|