Add federation API

Add signing keys fed API request
This commit is contained in:
Pim Kunis 2021-08-06 22:03:34 +02:00
parent e0df546c6f
commit 1e53776a8d
7 changed files with 41 additions and 6 deletions

View file

@ -0,0 +1,23 @@
defmodule MatrixServerWeb.FederationClient do
use Tesla
alias MatrixServerWeb.Endpoint
alias MatrixServerWeb.Router.Helpers, as: RouteHelpers
# TODO: Maybe create database-backed homeserver struct to pass to client function.
@middleware [
{Tesla.Middleware.Headers, [{"Content-Type", "application/json"}]},
Tesla.Middleware.JSON
]
@adapter {Tesla.Adapter.Finch, name: MatrixServerWeb.HTTPClient}
def client(server_name) do
Tesla.client([{Tesla.Middleware.BaseUrl, server_name} | @middleware], @adapter)
end
def get_signing_keys(client) do
Tesla.get(client, RouteHelpers.key_path(Endpoint, :get_signing_keys))
end
end