goldfinger 2.0.1 → 2.1.0

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,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