speedtest_net 0.6.1 → 0.6.2

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: b18c8629b83d4f4f56437bf92439f8d118b57ff32028e415367f7b66700022ed
4
- data.tar.gz: ba40b70b6a582bd80082b21885d0735f7faa68d998138f1524d1e6e1de53cfb2
3
+ metadata.gz: 0aec09a328146d86a192b080290157be98842cf7c8c7b765faa4646e284ebfb0
4
+ data.tar.gz: 9302feaeee0e0833ea3197d2edcf71eee47e8d0227c80bd6215c21342fff6f71
5
5
  SHA512:
6
- metadata.gz: a49ebdb25f3bc7722ef555af0ce1d4cfd9272af03d8e0d2232a4d7814300d1dc00070e36c595474fc104768053becc6a064ed40da5aaab57194774c6f5f64240
7
- data.tar.gz: 96602a22ff88e4c798a8a1e156bf21ed6303e70192cbc226d36cd2ca74b71c73c892ab88d52200429fc9d4f05fd882b083eb01370e4dbc889a353d90e4d399d6
6
+ metadata.gz: e7d1212ef3209071e2feb1fab097dbe62c679654717b99537a4ad34c86c54a1ce67613200fa4536dd85e6b125418fdd50c3b6af24318c9de73b0b3e4bcc8e73e
7
+ data.tar.gz: 6396e99b7a4400ae634b78398f8e40bb07213a1bb34561690082deb486da1cf19c0883fdd1431674287d76a2fb50d92fa81134abae0a04b7ad8cc2d522457f75
@@ -0,0 +1,10 @@
1
+ version: 2
2
+ updates:
3
+ - package-ecosystem: bundler
4
+ directory: "/"
5
+ schedule:
6
+ interval: daily
7
+ time: '20:00'
8
+ open-pull-requests-limit: 10
9
+ assignees:
10
+ - ryonkn
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'speedtest_net/version'
4
+ require 'speedtest_net/user_agent'
4
5
  require 'speedtest_net/server'
5
6
  require 'speedtest_net/download'
6
7
  require 'speedtest_net/upload'
@@ -48,9 +48,7 @@ module SpeedtestNet
48
48
  client.follow_location = true
49
49
  client.perform
50
50
 
51
- if client.response_code != 200
52
- raise HTTPDownloadError, 'Config download error'
53
- end
51
+ raise HTTPDownloadError, 'Config download error' if client.response_code != 200
54
52
 
55
53
  xml = REXML::Document.new(client.body, ignore_whitespace_nodes: :all)
56
54
  xml.elements
@@ -37,6 +37,7 @@ module SpeedtestNet
37
37
  multi = Curl::Multi.new
38
38
  urls.each do |url|
39
39
  client = Curl::Easy.new(url)
40
+ client.headers['User-Agent'] = SpeedtestNet::USER_AGENT
40
41
  client.on_complete { |data| responses << data }
41
42
  multi.add(client)
42
43
  end
@@ -35,6 +35,7 @@ module SpeedtestNet
35
35
  end
36
36
 
37
37
  def measure_latency(url, timeout)
38
+ Typhoeus::Config.user_agent = SpeedtestNet::USER_AGENT
38
39
  client = Typhoeus::Request.new(url, followlocation: true,
39
40
  timeout: timeout)
40
41
  client.run
@@ -78,9 +78,7 @@ module SpeedtestNet
78
78
  client.follow_location = true
79
79
  client.perform
80
80
 
81
- if client.response_code != 200
82
- raise HTTPDownloadError, 'Server lists download error'
83
- end
81
+ raise HTTPDownloadError, 'Server lists download error' if client.response_code != 200
84
82
 
85
83
  xml = REXML::Document.new(client.body, ignore_whitespace_nodes: :all)
86
84
  xml.elements['settings/servers']
@@ -29,15 +29,18 @@ module SpeedtestNet
29
29
  end
30
30
  end
31
31
 
32
- def multi_uploader(urls, size)
32
+ def multi_uploader(urls, size) # rubocop:disable Metrics/MethodLength
33
33
  responses = []
34
34
  content = 'A' * size
35
- url_fields = urls.map do |url|
36
- { url: url, post_fields: { 'content1' => content } }
37
- end
38
- Curl::Multi.post(url_fields) do |curl|
39
- responses << curl
35
+ multi = Curl::Multi.new
36
+ urls.each do |url|
37
+ client = Curl::Easy.new(url)
38
+ client.headers['User-Agent'] = SpeedtestNet::USER_AGENT
39
+ client.http_post(Curl::PostField.content('content1', content))
40
+ client.on_complete { |data| responses << data }
41
+ multi.add(client)
40
42
  end
43
+ multi.perform
41
44
  responses.map(&:upload_speed).sum * 8
42
45
  end
43
46
  end
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SpeedtestNet
4
+ USER_AGENT = "SpeedtestNet/#{SpeedtestNet::VERSION}"
5
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module SpeedtestNet
4
- VERSION = '0.6.1'
4
+ VERSION = '0.6.2'
5
5
  end
@@ -0,0 +1,5 @@
1
+ {
2
+ "extends": [
3
+ "config:base"
4
+ ]
5
+ }
@@ -32,13 +32,13 @@ Gem::Specification.new do |spec|
32
32
 
33
33
  spec.add_development_dependency 'bundler', '~> 2.0'
34
34
  spec.add_development_dependency 'codacy-coverage', '~> 2.1'
35
- spec.add_development_dependency 'factory_bot', '~> 5.1'
35
+ spec.add_development_dependency 'factory_bot', '~> 6.0'
36
36
  spec.add_development_dependency 'rake', '~> 13.0'
37
37
  spec.add_development_dependency 'rspec', '~> 3.0'
38
38
  spec.add_development_dependency 'rubocop', '~> 0.76'
39
39
  spec.add_development_dependency 'rubocop-rspec', '~> 1.36'
40
40
  spec.add_development_dependency 'simplecov', '~> 0.17'
41
- spec.add_development_dependency 'vcr', '~> 5.0'
41
+ spec.add_development_dependency 'vcr', '~> 6.0'
42
42
  spec.add_development_dependency 'webmock', '~> 3.7'
43
43
 
44
44
  spec.add_dependency 'curb', '~> 0.9'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: speedtest_net
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.1
4
+ version: 0.6.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryo Nakano
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-02-11 00:00:00.000000000 Z
11
+ date: 2020-07-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -44,14 +44,14 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '5.1'
47
+ version: '6.0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '5.1'
54
+ version: '6.0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rake
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -128,14 +128,14 @@ dependencies:
128
128
  requirements:
129
129
  - - "~>"
130
130
  - !ruby/object:Gem::Version
131
- version: '5.0'
131
+ version: '6.0'
132
132
  type: :development
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
136
  - - "~>"
137
137
  - !ruby/object:Gem::Version
138
- version: '5.0'
138
+ version: '6.0'
139
139
  - !ruby/object:Gem::Dependency
140
140
  name: webmock
141
141
  requirement: !ruby/object:Gem::Requirement
@@ -199,6 +199,7 @@ executables: []
199
199
  extensions: []
200
200
  extra_rdoc_files: []
201
201
  files:
202
+ - ".github/dependabot.yml"
202
203
  - ".github/workflows/ruby.yml"
203
204
  - ".gitignore"
204
205
  - ".rspec"
@@ -221,7 +222,9 @@ files:
221
222
  - lib/speedtest_net/result.rb
222
223
  - lib/speedtest_net/server.rb
223
224
  - lib/speedtest_net/upload.rb
225
+ - lib/speedtest_net/user_agent.rb
224
226
  - lib/speedtest_net/version.rb
227
+ - renovate.json
225
228
  - speedtest_net.gemspec
226
229
  homepage: https://github.com/ryonkn/speedtest_net
227
230
  licenses:
@@ -230,7 +233,7 @@ metadata:
230
233
  homepage_uri: https://github.com/ryonkn/speedtest_net
231
234
  source_code_uri: https://github.com/ryonkn/speedtest_net
232
235
  changelog_uri: https://github.com/ryonkn/speedtest_net
233
- post_install_message:
236
+ post_install_message:
234
237
  rdoc_options: []
235
238
  require_paths:
236
239
  - lib
@@ -246,7 +249,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
246
249
  version: '0'
247
250
  requirements: []
248
251
  rubygems_version: 3.1.2
249
- signing_key:
252
+ signing_key:
250
253
  specification_version: 4
251
254
  summary: Library for testing internet bandwidth using speedtest.net
252
255
  test_files: []