tangled
alpha
login
or
join now
mackuba.eu
/
didkit
1
fork
atom
A library for handling DID identifiers used in Bluesky AT Protocol
1
fork
atom
overview
issues
pulls
pipelines
set a default timeout for requests to 15s
mackuba.eu
7 months ago
bb994bff
ec23c98d
+9
-7
3 changed files
expand all
collapse all
unified
split
lib
didkit
did.rb
requests.rb
resolver.rb
+1
-1
lib/didkit/did.rb
···
61
61
url = URI("#{pds_host}/xrpc/com.atproto.sync.getRepoStatus")
62
62
url.query = URI.encode_www_form(:did => @did)
63
63
64
64
-
response = get_response(url, { timeout: 15, max_redirects: 5 })
64
64
+
response = get_response(url, { max_redirects: 5 })
65
65
status = response.code.to_i
66
66
is_json = (response['Content-Type'] =~ /^application\/json(;.*)?$/)
67
67
+7
-5
lib/didkit/requests.rb
···
1
1
module DIDKit::Requests
2
2
def get_response(url, options = {})
3
3
url = URI(url) unless url.is_a?(URI)
4
4
-
request_options = { use_ssl: true }
5
4
6
6
-
if timeout = options[:timeout]
7
7
-
request_options[:open_timeout] = timeout
8
8
-
request_options[:read_timeout] = timeout
9
9
-
end
5
5
+
timeout = options[:timeout] || 15
6
6
+
7
7
+
request_options = {
8
8
+
use_ssl: true,
9
9
+
open_timeout: timeout,
10
10
+
read_timeout: timeout
11
11
+
}
10
12
11
13
redirects = 0
12
14
max_redirects = options[:max_redirects] || 0
+1
-1
lib/didkit/resolver.rb
···
50
50
51
51
def resolve_handle_by_well_known(domain)
52
52
url = "https://#{domain}/.well-known/atproto-did"
53
53
-
response = get_response(url, timeout: 10, max_redirects: MAX_REDIRECTS)
53
53
+
response = get_response(url, max_redirects: MAX_REDIRECTS)
54
54
55
55
if response.is_a?(Net::HTTPSuccess) && (text = response.body)
56
56
return parse_did_from_well_known(text)