Make follow requests federate
This commit is contained in:
parent
d551e43a9b
commit
149887a0ff
25 changed files with 148 additions and 61 deletions
|
@ -2,27 +2,16 @@
|
|||
|
||||
class SendInteractionService < BaseService
|
||||
# Send an Atom representation of an interaction to a remote Salmon endpoint
|
||||
# @param [StreamEntry] stream_entry
|
||||
# @param [String] Entry XML
|
||||
# @param [Account] source_account
|
||||
# @param [Account] target_account
|
||||
def call(stream_entry, target_account)
|
||||
envelope = salmon.pack(entry_xml(stream_entry), stream_entry.account.keypair)
|
||||
def call(xml, source_account, target_account)
|
||||
envelope = salmon.pack(xml, source_account.keypair)
|
||||
salmon.post(target_account.salmon_url, envelope)
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def entry_xml(stream_entry)
|
||||
Nokogiri::XML::Builder.new do |xml|
|
||||
entry(xml, true) do
|
||||
author(xml) do
|
||||
include_author xml, stream_entry.account
|
||||
end
|
||||
|
||||
include_entry xml, stream_entry
|
||||
end
|
||||
end.to_xml
|
||||
end
|
||||
|
||||
def salmon
|
||||
@salmon ||= OStatus2::Salmon.new
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue