ethon 0.7.2 → 0.7.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- ZjM5ODkzYjQyY2Y3ZDJhMWFiNWE0YzU2Yjk0NTAxMmIzYTEwNDFkZA==
4
+ MzIwZTI3ZDU0NzcyNGIwYTcyNDQwMzBhMTE3YWVjOTk4M2NmODg3Yg==
5
5
  data.tar.gz: !binary |-
6
- MTg2YThmNTFmNjI5ZDUwMjU3MGMxNGZjMjI2Yzk5ZTAxZmYwZmQzOQ==
6
+ ODA0NWYyYWJmMWJiZTExN2JlNmY4YmI4ZDM4YTEzOTkwNzNhODM5MA==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- MmU0Y2ZlMDJmYmM4MjYyMWEwN2QyNTA2ODg5NmY4ZTBhZGExMGI3ZDM5MjFi
10
- NmZlZTkxMzgzOWZkNTFhMzUwNzVlZTFmYTI4YmJiZDFiNmYxMTdlMTViMWIw
11
- YWMxM2MzNTRiMzkyNDRjZjFhYWQ2NmRkZDFmN2Y1ZDRmY2E5NjQ=
9
+ NTk5ZjIxNjQ4NDVmYTkzMGE2NDBjNTA2MTI5MzA3ODE4NjA2Mzg2MjkzNzk5
10
+ NGNhMmEzNjBiODc3OGQ2OTZmNzUwNmI2ZTVmZjVjYjk2YjA5OThjYzM0MzA2
11
+ YWE2OTBiODZiZGJjOTA3YjdjMWY5YTVmNGRjOTgwYTBjMDQwYjc=
12
12
  data.tar.gz: !binary |-
13
- ZDgwNzllZTcwOTNiMjNkYjNlNmFhOWZlZjE2YWM0MGEzZmQwMGU1NGUxZmQx
14
- MDQ1OTkwMjdkMGM2NmFmNDI1ZGI4ZWRjNWYwNmQzYTFmY2IwMDdlNWExNjg2
15
- ZDdkNGU0NTNhYTYxNzA1ZTA1M2IxN2M1MDU2MWQwNGVhODc4MDM=
13
+ NTgzMzlkN2Q3YTY5YWIyMWRmNzdlMDFjZGFkZTdkOTYyNjZkMWI3ZTEyMGRi
14
+ NTA2ODhhMjdjYmYwOTg2MDNlMjVlZmUzZWIzNGExODg1YzNmN2MwNGQ5ZGJi
15
+ ZTIzNjllMmQzYzczMGI3MTIxYzA2NWViNmU4ZWI0MDJkMTU3ODg=
data/CHANGELOG.md CHANGED
@@ -2,7 +2,26 @@
2
2
 
3
3
  ## Master
4
4
 
5
- [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.7.0...master)
5
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.7.3...master)
6
+
7
+ ## 0.7.3
8
+
9
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.7.2...v0.7.3)
10
+
11
+ * `Ethon::Curl::FDSet`
12
+ * Set `:fd_array` size to the current MS Windows `FD_SETSIZE` (2048).
13
+ ([Tasos Laskos](https://github.com/zapotek)
14
+
15
+ * Added `redirect_time` value to available informations and `Easy::Mirror`.
16
+ ([Adrien Jarthon](https://github.com/jarthod)
17
+
18
+ ## 0.7.2
19
+
20
+ [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.7.1...v0.7.2)
21
+
22
+ * FFI data-types updated to be more correct.
23
+
24
+ ## 0.7.1
6
25
 
7
26
  * MS Windows determination delegated to `Gem.windows?` for better accuracy.
8
27
  * FFI data-types updated to work on MS Windows.
@@ -14,7 +14,8 @@ module Ethon
14
14
  class FDSet < ::FFI::Struct
15
15
  if Curl.windows?
16
16
  layout :fd_count, :uint,
17
- :fd_array, [:uint, 64] # 2048 FDs
17
+ # TODO: Make it future proof by dynamically grabbing FD_SETSIZE.
18
+ :fd_array, [:uint, 2048]
18
19
 
19
20
  def clear; self[:fd_count] = 0; end
20
21
  else
@@ -31,14 +31,23 @@ module Ethon
31
31
  when :enum
32
32
  return if value.nil?
33
33
  func=:long
34
- value=opthash[option][:opts][value] if value.is_a? Symbol
35
- value=value.to_i
34
+ value = case value
35
+ when Symbol
36
+ opthash[option][:opts][value]
37
+ when String
38
+ opthash[option][:opts][value.to_sym]
39
+ end
40
+ value = value.to_i
36
41
  when :bitmask
37
42
  return if value.nil?
38
43
  func=:long
39
- value=opthash[option][:opts][value] if value.is_a? Symbol
40
- value=value.inject(0) { |res,v| res|opthash[option][:opts][v] } if value.is_a? Array
41
- value=value.to_i
44
+ value = case value
45
+ when Symbol
46
+ opthash[option][:opts][value]
47
+ when Array
48
+ value.inject(0) { |res,v| res|opthash[option][:opts][v] }
49
+ end
50
+ value = value.to_i
42
51
  when :string
43
52
  func=:string
44
53
  value=value.to_s unless value.nil?
@@ -46,6 +46,12 @@ module Ethon
46
46
  # start until the name resolution was completed.
47
47
  :namelookup_time => :double,
48
48
 
49
+ # Return the time, in seconds, it took for all redirection steps
50
+ # include name lookup, connect, pretransfer and transfer before the
51
+ # final transaction was started. time_redirect shows the complete
52
+ # execution time for multiple redirections. (Added in 7.12.3)
53
+ :redirect_time => :double,
54
+
49
55
  # Return the last used effective url.
50
56
  :effective_url => :string,
51
57
 
data/lib/ethon/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  module Ethon
2
2
 
3
3
  # Ethon version.
4
- VERSION = '0.7.2'
4
+ VERSION = '0.7.3'
5
5
  end
@@ -50,6 +50,12 @@ describe Ethon::Easy::Informations do
50
50
  end
51
51
  end
52
52
 
53
+ describe "#redirect_time" do
54
+ it "returns float" do
55
+ expect(easy.redirect_time).to be_a(Float)
56
+ end
57
+ end
58
+
53
59
  describe "#effective_url" do
54
60
  it "returns url" do
55
61
  expect(easy.effective_url).to match(/^http:\/\/localhost:3001\/?/)
@@ -8,7 +8,7 @@ describe Ethon::Easy::Mirror do
8
8
  [
9
9
  :return_code, :response_code, :response_body, :response_headers,
10
10
  :total_time, :starttransfer_time, :appconnect_time,
11
- :pretransfer_time, :connect_time, :namelookup_time,
11
+ :pretransfer_time, :connect_time, :namelookup_time, :redirect_time,
12
12
  :effective_url, :primary_ip, :redirect_count, :debug_info
13
13
  ].each do |name|
14
14
  it "contains #{name}" do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ethon
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.2
4
+ version: 0.7.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hans Hasselberg
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-01-02 00:00:00.000000000 Z
11
+ date: 2015-02-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ffi