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 max_redirects to 5 by default
mackuba.eu
7 months ago
87db8127
7a0c2392
+3
-4
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, { max_redirects: 5 })
64
64
+
response = get_response(url)
65
65
status = response.code.to_i
66
66
is_json = (response['Content-Type'] =~ /^application\/json(;.*)?$/)
67
67
+1
-1
lib/didkit/requests.rb
···
11
11
}
12
12
13
13
redirects = 0
14
14
-
max_redirects = options[:max_redirects] || 0
14
14
+
max_redirects = options[:max_redirects] || 5
15
15
16
16
loop do
17
17
response = Net::HTTP.start(url.host, url.port, request_options) do |http|
+1
-2
lib/didkit/resolver.rb
···
10
10
module DIDKit
11
11
class Resolver
12
12
RESERVED_DOMAINS = %w(alt arpa example internal invalid local localhost onion test)
13
13
-
MAX_REDIRECTS = 5
14
13
15
14
include Requests
16
15
···
50
49
51
50
def resolve_handle_by_well_known(domain)
52
51
url = "https://#{domain}/.well-known/atproto-did"
53
53
-
response = get_response(url, max_redirects: MAX_REDIRECTS)
52
52
+
response = get_response(url)
54
53
55
54
if response.is_a?(Net::HTTPSuccess) && (text = response.body)
56
55
return parse_did_from_well_known(text)