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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a5087cd966a296311bc208ed82ba9c4eb33cb7abb1ca1474efc611acdea73982
4
- data.tar.gz: e58cb6110ac3a0e62945f486593c95d04096c80e495935a90e3a46de13211526
3
+ metadata.gz: 872edd7141621bba9ac97f850fd7affb5daf229d3c2db581bf2f5422424fdecf
4
+ data.tar.gz: 1bcce61d1a762827070efc219024d3520b5c2959ede385bcfc2b3ba5d6897dc3
5
5
  SHA512:
6
- metadata.gz: 1b64dcee60dbe28b3700c53932ef584d900a5e112c0e2e13b8bb63627d6df3d835f4cba30beb340e15993087d482d7408a0d8dfa5ef62c47beffba08c44d8587
7
- data.tar.gz: 676d8113e1edbe75d16389b23d24633e55fe5fd599195e989d87da2e22c248279e9d9ae272c36662e5a5dc750a28629c48c2708dd04709e007827ddf4c59d8f9
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 'marcel'
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: 'follow', _redirected: false)
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.entries.map {|k, v|
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: Marcel::MimeType.for(v) || 'application/octet-stream'
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['Content-Type'] ||= 'application/x-www-form-urlencoded'
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
@@ -52,8 +52,6 @@ module Fetch
52
52
  end
53
53
 
54
54
  def each(&block)
55
- return enum_for(:each) unless block_given?
56
-
57
55
  @entries.each(&block)
58
56
  end
59
57
  end
data/lib/fetch/headers.rb CHANGED
@@ -43,8 +43,6 @@ module Fetch
43
43
  end
44
44
 
45
45
  def each(&block)
46
- return enum_for(:each) unless block_given?
47
-
48
46
  entries.each(&block)
49
47
  end
50
48
  end
@@ -11,8 +11,8 @@ module Fetch
11
11
  Rack::Utils::HTTP_STATUS_CODES[status]
12
12
  end
13
13
 
14
- def json(**opts)
15
- JSON.parse(body, **opts)
14
+ def json(...)
15
+ JSON.parse(body, ...)
16
16
  end
17
17
  }
18
18
  end
@@ -63,8 +63,6 @@ module Fetch
63
63
  end
64
64
 
65
65
  def each(&block)
66
- return enum_for(:each) unless block_given?
67
-
68
66
  @entries.each(&block)
69
67
  end
70
68
  end
data/lib/fetch/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Fetch
2
- VERSION = '0.3.2'
2
+ VERSION = '0.3.4'
3
3
  end
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.2
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-06 00:00:00.000000000 Z
11
+ date: 2024-07-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: marcel
14
+ name: mini_mime
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - ">="