goldfinger 0.1.0 → 0.1.1
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 +4 -4
- data/README.md +5 -1
- data/lib/goldfinger.rb +7 -3
- data/lib/goldfinger/client.rb +5 -3
- data/lib/goldfinger/result.rb +1 -2
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ee7cd56211208bae7616ba9a6b6535bcd358f676
|
4
|
+
data.tar.gz: d4bcfc1bd907072f3ef3062efd9e7644128a8779
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6787387b7f7130e0862a7205f8b277b9b017d8687cf6f2cb861c21fe0045c9db775107d7ce9f3dd5ade94d1b74955de0ec9911ddbae1cff23517a62175b58600
|
7
|
+
data.tar.gz: 2c7f7975273404131e0b4d2055ff2efd2f87a04f906a6cd065ef2b8af4b818d6413bbeeb7c0e4077b690fc61dd8312ce2c2eb554e3fabc1d3af8d48cf7eeb27c
|
data/README.md
CHANGED
@@ -1,7 +1,11 @@
|
|
1
1
|
Goldfinger, a Webfinger client for Ruby
|
2
2
|
=======================================
|
3
3
|
|
4
|
-
|
4
|
+
[][gem]
|
5
|
+
|
6
|
+
[gem]: https://rubygems.org/gems/goldfinger
|
7
|
+
|
8
|
+
A Webfinger client for Ruby. Supports `application/xrd+xml` and `application/jrd+json` responses. Raises `Goldfinger::NotFoundError` on failure to fetch the Webfinger or XRD data, or `Goldfinger::SSLError` if something is wrong with the HTTPS connection it uses.
|
5
9
|
|
6
10
|
## Installation
|
7
11
|
|
data/lib/goldfinger.rb
CHANGED
@@ -4,9 +4,13 @@ require 'goldfinger/utils'
|
|
4
4
|
require 'goldfinger/client'
|
5
5
|
|
6
6
|
module Goldfinger
|
7
|
-
|
8
|
-
|
9
|
-
|
7
|
+
class Error < StandardError
|
8
|
+
end
|
9
|
+
|
10
|
+
class NotFoundError < Error
|
11
|
+
end
|
12
|
+
|
13
|
+
class SSLError < Error
|
10
14
|
end
|
11
15
|
|
12
16
|
def self.finger(uri)
|
data/lib/goldfinger/client.rb
CHANGED
@@ -19,14 +19,16 @@ module Goldfinger
|
|
19
19
|
ssl = false
|
20
20
|
retry
|
21
21
|
else
|
22
|
-
raise Goldfinger::
|
22
|
+
raise Goldfinger::NotFoundError
|
23
23
|
end
|
24
24
|
end
|
25
25
|
|
26
26
|
headers, body = perform_get(url_from_template(template))
|
27
27
|
Goldfinger::Result.new(headers, body)
|
28
28
|
rescue HTTP::Error
|
29
|
-
raise Goldfinger::
|
29
|
+
raise Goldfinger::NotFoundError
|
30
|
+
rescue OpenSSL::SSL::SSLError
|
31
|
+
raise Goldfinger::SSLError
|
30
32
|
end
|
31
33
|
|
32
34
|
private
|
@@ -39,7 +41,7 @@ module Goldfinger
|
|
39
41
|
xml = Nokogiri::XML(template)
|
40
42
|
links = xml.xpath('//xmlns:Link[@rel="lrdd"]', xmlns: 'http://docs.oasis-open.org/ns/xri/xrd-1.0')
|
41
43
|
|
42
|
-
raise Goldfinger::
|
44
|
+
raise Goldfinger::NotFoundError if links.empty?
|
43
45
|
|
44
46
|
url = Addressable::Template.new(links.first.attribute('template').value)
|
45
47
|
url.expand({ uri: @uri }).to_s
|
data/lib/goldfinger/result.rb
CHANGED