Merge pull request #371 from Yay295/Yay295-patch-1

Handle Bluesky "handle" that is a "did"
This commit is contained in:
liamwhite 2024-11-15 08:48:54 -05:00 committed by GitHub
commit febcdfa62a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -19,10 +19,15 @@ defmodule PhilomenaProxy.Scrapers.Bluesky do
def scrape(_uri, url) do def scrape(_uri, url) do
[handle, id] = Regex.run(@url_regex, url, capture: :all_but_first) [handle, id] = Regex.run(@url_regex, url, capture: :all_but_first)
did =
if String.starts_with?(handle, "did:") do
handle
else
api_url_resolve_handle = api_url_resolve_handle =
"https://public.api.bsky.app/xrpc/com.atproto.identity.resolveHandle?handle=#{handle}" "https://public.api.bsky.app/xrpc/com.atproto.identity.resolveHandle?handle=#{handle}"
did = PhilomenaProxy.Http.get(api_url_resolve_handle) |> json!() |> Map.fetch!(:did) PhilomenaProxy.Http.get(api_url_resolve_handle) |> json!() |> Map.fetch!(:did)
end
api_url_get_posts = api_url_get_posts =
"https://public.api.bsky.app/xrpc/app.bsky.feed.getPosts?uris=at://#{did}/app.bsky.feed.post/#{id}" "https://public.api.bsky.app/xrpc/app.bsky.feed.getPosts?uris=at://#{did}/app.bsky.feed.post/#{id}"