goldfinger 2.0.1 → 2.1.0

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
- SHA1:
3
- metadata.gz: e540cbcf6ed4affb5bb1bed73dc8fc195b23304a
4
- data.tar.gz: 459b5e0727e61da5b18f6b738966d8bb01e3ce09
2
+ SHA256:
3
+ metadata.gz: 34fc5eb5d1ef785bea14ad12affd2d62012a0e9be5b26b79ea5be41e7f04680c
4
+ data.tar.gz: caf232c1bfceff90d7128929fd7e99c04b8f6c4fcc34121a1fcdc75b35ac71c3
5
5
  SHA512:
6
- metadata.gz: c0eba88820a7151601c58a06bfe0ae0e07c4673ffebc3757d800d0ff246251ed4b51a99a58a2fcfc338490c983aa321573bd00ff7f764c75582068da26868fdd
7
- data.tar.gz: 2e4fe5fb537e821a24a5da6e90fea16bd213625b72267d506309add755f6d76983cfad5b565b0995910eef838ecf4206c7b75b3ef86e046720d5115365922d3f
6
+ metadata.gz: 1e8e387ba65a6b8e2c4d4f8f0832648eace0bd9720f147710aa996c1bdccba764ba6cf575146c70de9c4dc03c2d47b9c5b909bc2dbfbb316de51d5f54463b888
7
+ data.tar.gz: f0b1be755ea75ef9cd1da458e015b6efa0991048c58c2233c679c626d85e817ebe76810c4fc6d2207f08fb87207fb78d5949250fb1be567acaec43da3e16a1f4
@@ -18,8 +18,9 @@ module Goldfinger
18
18
  # @raise [Goldfinger::NotFoundError] Error raised when the Webfinger resource could not be retrieved
19
19
  # @raise [Goldfinger::SSLError] Error raised when there was a SSL error when fetching the resource
20
20
  # @param uri [String] A full resource identifier in the format acct:user@example.com
21
+ # @param opts [Hash] Options passed to HTTP.rb client
21
22
  # @return [Goldfinger::Result]
22
- def self.finger(uri)
23
- Goldfinger::Client.new(uri).finger
23
+ def self.finger(uri, opts = {})
24
+ Goldfinger::Client.new(uri, opts).finger
24
25
  end
25
26
  end
@@ -7,12 +7,15 @@ module Goldfinger
7
7
  class Client
8
8
  include Goldfinger::Utils
9
9
 
10
- def initialize(uri)
10
+ def initialize(uri, opts = {})
11
11
  @uri = uri
12
+ @ssl = opts.delete(:ssl) { true }
13
+ @scheme = @ssl ? 'https' : 'http'
14
+ @opts = opts
12
15
  end
13
16
 
14
17
  def finger
15
- response = perform_get(standard_url)
18
+ response = perform_get(standard_url, @opts)
16
19
 
17
20
  return finger_from_template if response.code != 200
18
21
 
@@ -24,11 +27,11 @@ module Goldfinger
24
27
  private
25
28
 
26
29
  def finger_from_template
27
- template = perform_get(url)
30
+ template = perform_get(url, @opts)
28
31
 
29
32
  raise Goldfinger::NotFoundError, 'No host-meta on the server' if template.code != 200
30
33
 
31
- response = perform_get(url_from_template(template.body))
34
+ response = perform_get(url_from_template(template.body), @opts)
32
35
 
33
36
  raise Goldfinger::NotFoundError, 'No such user on the server' if response.code != 200
34
37
 
@@ -36,11 +39,11 @@ module Goldfinger
36
39
  end
37
40
 
38
41
  def url
39
- "https://#{domain}/.well-known/host-meta"
42
+ "#{@scheme}://#{domain}/.well-known/host-meta"
40
43
  end
41
44
 
42
45
  def standard_url
43
- "https://#{domain}/.well-known/webfinger?resource=#{@uri}"
46
+ "#{@scheme}://#{domain}/.well-known/webfinger?resource=#{@uri}"
44
47
  end
45
48
 
46
49
  def url_from_template(template)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: goldfinger
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.1
4
+ version: 2.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eugen Rochko
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '2.2'
19
+ version: '3.0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '2.2'
26
+ version: '3.0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: addressable
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -114,7 +114,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
114
114
  version: '0'
115
115
  requirements: []
116
116
  rubyforge_project:
117
- rubygems_version: 2.6.11
117
+ rubygems_version: 2.7.3
118
118
  signing_key:
119
119
  specification_version: 4
120
120
  summary: A Webfinger utility for Ruby