Ruby gem for ingesting ATProto repo data from a Tap service (extension of Skyfall gem)
2
fork

Configure Feed

Select the types of activity you want to include in your feed.

added resolve_did endpoint call

+25 -1
+24
lib/tapfall/api.rb
··· 25 25 post_request('/repos/remove', { dids: dids }) 26 26 end 27 27 28 + def resolve_did(did) 29 + get_request("/resolve/#{did}") 30 + end 31 + 28 32 private 29 33 30 34 def build_root_url(server) ··· 49 53 end 50 54 end 51 55 56 + def get_request(path) 57 + uri = URI(@root_url + path) 58 + 59 + request = Net::HTTP::Get.new(uri) 60 + 61 + if @options[:admin_password] 62 + request.basic_auth('admin', @options[:admin_password]) 63 + end 64 + 65 + response = Net::HTTP.start(uri.hostname, uri.port, :use_ssl => (uri.scheme == 'https')) do |http| 66 + http.request(request) 67 + end 68 + 69 + handle_response(response) 70 + end 71 + 52 72 def post_request(path, json_data) 53 73 uri = URI(@root_url + path) 54 74 ··· 64 84 http.request(request) 65 85 end 66 86 87 + handle_response(response) 88 + end 89 + 90 + def handle_response(response) 67 91 status = response.code.to_i 68 92 message = response.message 69 93 response_body = (response.content_type == 'application/json') ? JSON.parse(response.body) : response.body
+1 -1
lib/tapfall/stream.rb
··· 10 10 class Tapfall::Stream < Skyfall::Stream 11 11 extend Forwardable 12 12 13 - def_delegators :@api, :add_repo, :add_repos, :remove_repo, :remove_repos 13 + def_delegators :@api, :add_repo, :add_repos, :remove_repo, :remove_repos, :resolve_did 14 14 15 15 def initialize(server, options = {}) 16 16 super(server)