ethon 0.7.2 → 0.7.3

Sign up to get free protection for your applications and to get access to all the features.
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