|> to_string
signature = sign(sub.secret, response)
+ Logger.debug("Pushing to #{sub.callback}")
HTTPoison.post(sub.callback, response, [
{"Content-Type", "application/atom+xml"},
{"X-Hub-Signature", "sha1=#{signature}"}
end
def sign(secret, doc) do
- :crypto.hmac(:sha, secret, to_string(doc)) |> Base.encode16
+ :crypto.hmac(:sha, secret, to_string(doc)) |> Base.encode16 |> String.downcase
end
def incoming_subscription_request(user, %{"hub.mode" => "subscribe"} = params) do
avatar = OStatus.make_avatar_object(doc)
{:ok, %{
- uri: uri,
- hub: hub,
- nickname: preferredUsername || name,
- name: displayName || name,
- host: URI.parse(uri).host,
- avatar: avatar
+ "uri" => uri,
+ "hub" => hub,
+ "nickname" => preferredUsername || name,
+ "name" => displayName || name,
+ "host" => URI.parse(uri).host,
+ "avatar" => avatar
}}
else e ->
{:error, e}