A curated list of libraries & SDKs for the Bluesky API and AT Protocol
at master 32 lines 673 B view raw
1require 'json' 2require 'net/http' 3require 'uri' 4require 'yaml' 5 6module Requests 7 AUTH_FILE = 'config/auth.yml' 8 9 def auth_config 10 @auth_config ||= begin 11 config_path = File.join(__dir__, '..', AUTH_FILE) 12 YAML.load(File.read(config_path)) 13 end 14 end 15 16 def request_headers 17 { 'User-Agent' => "sdk.blue project info scanner (+https://sdk.blue) Ruby/#{RUBY_VERSION}"} 18 end 19 20 def get_response(url) 21 Net::HTTP.get_response(URI(url), request_headers) 22 end 23end 24 25class FetchError < StandardError 26 attr_reader :response 27 28 def initialize(response) 29 super("Error: Invalid response for #{response.uri}: #{response}") 30 @response = response 31 end 32end