Class: Federails::Server::WebFingerController

Inherits:
Federails::ServerController show all
Defined in:
app/controllers/federails/server/web_finger_controller.rb

Instance Method Summary collapse

Instance Method Details

#findObject

Raises:

  • (ActiveRecord::RecordNotFound)


6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'app/controllers/federails/server/web_finger_controller.rb', line 6

def find
  skip_authorization

  resource = params.require(:resource)
  case resource
  when %r{^https?://.+}
    @user = Federails::Actor.find_by_federation_url!(resource).entity # rubocop:disable Rails/DynamicFindBy
  when /^acct:.+/
    actor = Federails::Actor.find_local_by_username(username)
    raise Federails::Actor::TombstonedError if actor&.tombstoned?

    @user = actor&.entity
  end
  raise ActiveRecord::RecordNotFound if @user.nil?

  render formats: [:jrd]
end

#host_metaObject



24
25
26
27
28
# File 'app/controllers/federails/server/web_finger_controller.rb', line 24

def host_meta
  skip_authorization

  render formats: [:xrd]
end