webmention-endpoint 0.1.0 → 0.2.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 +4 -4
- data/CHANGELOG.md +9 -0
- data/README.md +8 -8
- data/lib/webmention/endpoint.rb +1 -0
- data/lib/webmention/endpoint/discover.rb +10 -0
- data/lib/webmention/endpoint/error.rb +15 -0
- data/lib/webmention/endpoint/version.rb +1 -1
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0f8949affbb9a7d11b3a7921836df000df533090
|
4
|
+
data.tar.gz: 6d8feea53689bb397ad3257eb8d2f27238887357
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ca338aef70ea4d02e959be264088c528dd9b4ea4959079d0b13e03abff4fade24ce83a5f0ac7065d1a582dae13054d7bc7d1bb6fed137e36d96a0c64296eaeb8
|
7
|
+
data.tar.gz: 9a2043839ba89dadc1944ead1a606276dabaa8eba495bf7f14175253348944521d194c39171f469a4f971a5f625a2f991a509e7b383102187df75036a50081a4
|
data/CHANGELOG.md
ADDED
data/README.md
CHANGED
@@ -80,17 +80,17 @@ puts discoverer.response # returns HTTP::Response
|
|
80
80
|
|
81
81
|
### Exception Handling
|
82
82
|
|
83
|
-
There are several exceptions that may be raised by webmention-endpoint-ruby's underlying dependencies
|
83
|
+
There are several exceptions that may be raised by webmention-endpoint-ruby's underlying dependencies. These errors are raised as subclasses of `Webmention::Endpoint::Error` (which itself is a subclass of `StandardError`).
|
84
84
|
|
85
|
-
|
86
|
-
- `HTTP::ConnectionError`
|
87
|
-
- `HTTP::TimeoutError`
|
88
|
-
- `HTTP::Redirector::TooManyRedirectsError`
|
85
|
+
From [sporkmonger/addressable](https://github.com/sporkmonger/addressable):
|
89
86
|
|
90
|
-
|
87
|
+
- `Webmention::Endpoint::InvalidURIError`
|
91
88
|
|
92
|
-
|
93
|
-
|
89
|
+
From [httprb/http](https://github.com/httprb/http):
|
90
|
+
|
91
|
+
- `Webmention::Endpoint::ConnectionError`
|
92
|
+
- `Webmention::Endpoint::TimeoutError`
|
93
|
+
- `Webmention::Endpoint::TooManyRedirectsError`
|
94
94
|
|
95
95
|
## Contributing
|
96
96
|
|
data/lib/webmention/endpoint.rb
CHANGED
@@ -25,6 +25,8 @@ module Webmention
|
|
25
25
|
|
26
26
|
@url = url
|
27
27
|
@uri = Addressable::URI.parse(url)
|
28
|
+
rescue Addressable::URI::InvalidURIError => error
|
29
|
+
raise InvalidURIError, error
|
28
30
|
end
|
29
31
|
|
30
32
|
def endpoint
|
@@ -36,6 +38,12 @@ module Webmention
|
|
36
38
|
connect: 10,
|
37
39
|
read: 10
|
38
40
|
).get(uri)
|
41
|
+
rescue HTTP::ConnectionError => error
|
42
|
+
raise ConnectionError, error
|
43
|
+
rescue HTTP::TimeoutError => error
|
44
|
+
raise TimeoutError, error
|
45
|
+
rescue HTTP::Redirector::TooManyRedirectsError => error
|
46
|
+
raise TooManyRedirectsError, error
|
39
47
|
end
|
40
48
|
|
41
49
|
private
|
@@ -49,6 +57,8 @@ module Webmention
|
|
49
57
|
return relative if relative_uri.absolute?
|
50
58
|
|
51
59
|
(base_uri + relative_uri).to_s
|
60
|
+
rescue Addressable::URI::InvalidURIError => error
|
61
|
+
raise InvalidURIError, error
|
52
62
|
end
|
53
63
|
|
54
64
|
def endpoint_from_body
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module Webmention
|
2
|
+
module Endpoint
|
3
|
+
class Error < StandardError; end
|
4
|
+
|
5
|
+
class ArgumentError < Error; end
|
6
|
+
|
7
|
+
class ConnectionError < Error; end
|
8
|
+
|
9
|
+
class InvalidURIError < Error; end
|
10
|
+
|
11
|
+
class TimeoutError < Error; end
|
12
|
+
|
13
|
+
class TooManyRedirectsError < Error; end
|
14
|
+
end
|
15
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: webmention-endpoint
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jason Garber
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-06-
|
11
|
+
date: 2018-06-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -189,6 +189,7 @@ files:
|
|
189
189
|
- ".ruby-version"
|
190
190
|
- ".simplecov"
|
191
191
|
- ".travis.yml"
|
192
|
+
- CHANGELOG.md
|
192
193
|
- CONTRIBUTING.md
|
193
194
|
- Gemfile
|
194
195
|
- LICENSE
|
@@ -196,6 +197,7 @@ files:
|
|
196
197
|
- Rakefile
|
197
198
|
- lib/webmention/endpoint.rb
|
198
199
|
- lib/webmention/endpoint/discover.rb
|
200
|
+
- lib/webmention/endpoint/error.rb
|
199
201
|
- lib/webmention/endpoint/version.rb
|
200
202
|
- webmention-endpoint.gemspec
|
201
203
|
homepage: https://github.com/jgarber623/webmention-endpoint-ruby
|