* User agent for WebFinger
* local_domain → web_domain
* 'http' is away accidentally...
def set_common_headers!
@headers[REQUEST_TARGET] = "#{@verb} #{@url.path}"
- @headers['User-Agent'] = user_agent
+ @headers['User-Agent'] = Mastodon::Version.user_agent
@headers['Host'] = @url.host
@headers['Date'] = Time.now.utc.httpdate
@headers['Accept-Encoding'] = 'gzip' if @verb != :head
@headers.keys.join(' ').downcase
end
- def user_agent
- @user_agent ||= "#{HTTP::Request::USER_AGENT} (Mastodon/#{Mastodon::Version}; +#{root_url})"
- end
-
def key_id
case @key_id_format
when :acct
def self.finger(uri, opts = {})
to_hidden = /\.(onion|i2p)(:\d+)?$/.match(uri)
raise Mastodon::HostValidationError, 'Instance does not support hidden service connections' if !Rails.configuration.x.access_to_hidden_service && to_hidden
- opts = opts.merge(Rails.configuration.x.http_client_proxy).merge(ssl: !to_hidden)
+ opts = { ssl: !to_hidden, headers: {} }.merge(Rails.configuration.x.http_client_proxy).merge(opts)
+ opts[:headers]['User-Agent'] ||= Mastodon::Version.user_agent
Goldfinger::Client.new(uri, opts).finger
end
end
source_base_url
end
end
+
+ def user_agent
+ @user_agent ||= "#{HTTP::Request::USER_AGENT} (Mastodon/#{Version}; +http#{Rails.configuration.x.use_https ? 's' : ''}://#{Rails.configuration.x.web_domain}/)"
+ end
end
end