Skip to content
Snippets Groups Projects
Commit 157f03f8 authored by Eugen Rochko's avatar Eugen Rochko
Browse files

No-op for Salmons without body, fail fast if Webfinger does not contain

all required resource links (profile page, salmon, atom feed, magic key)
parent 36e7eeb6
No related branches found
No related tags found
No related merge requests found
......@@ -3,8 +3,14 @@ class Api::SalmonController < ApiController
respond_to :txt
def update
ProcessInteractionService.new.call(request.body.read, @account)
head 201
body = request.body.read
if body.nil?
head 200
else
ProcessInteractionService.new.call(body, @account)
head 201
end
end
private
......
......@@ -23,6 +23,8 @@ class FollowRemoteAccountService < BaseService
data = Goldfinger.finger("acct:#{uri}")
raise Goldfinger::Error, 'Missing resource links' if data.link('http://schemas.google.com/g/2010#updates-from').nil? || data.link('salmon').nil? || data.link('http://webfinger.net/rel/profile-page').nil? || data.link('magic-public-key').nil?
account.remote_url = data.link('http://schemas.google.com/g/2010#updates-from').href
account.salmon_url = data.link('salmon').href
account.url = data.link('http://webfinger.net/rel/profile-page').href
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment