Add federation API
Add signing keys fed API request
This commit is contained in:
parent
e0df546c6f
commit
1e53776a8d
7 changed files with 41 additions and 6 deletions
23
lib/matrix_server_web/federation_client.ex
Normal file
23
lib/matrix_server_web/federation_client.ex
Normal 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
|
Loading…
Add table
Add a link
Reference in a new issue