Browse Source

User agent for WebFinger (#7531)

* User agent for WebFinger

* local_domain → web_domain

* 'http' is away accidentally...
custom
MIYAGI Hikaru 4 years ago
committed by Eugen Rochko
parent
commit
919eef3098
  1. 6
      app/lib/request.rb
  2. 3
      config/initializers/http_client_proxy.rb
  3. 4
      lib/mastodon/version.rb

6
app/lib/request.rb

@ -58,7 +58,7 @@ class Request
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
@ -83,10 +83,6 @@ class Request
@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

3
config/initializers/http_client_proxy.rb

@ -18,7 +18,8 @@ module Goldfinger
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

4
lib/mastodon/version.rb

@ -48,5 +48,9 @@ module Mastodon
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

Loading…
Cancel
Save