Fix nodeinfo path

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
This commit is contained in:
Thomas Citharel 2018-09-03 17:53:31 +02:00
parent 970a40c22e
commit c2875a6189
3 changed files with 15 additions and 8 deletions

View file

@ -11,7 +11,7 @@ defmodule EventosWeb.NodeinfoController do
links: [
%{
rel: "http://nodeinfo.diaspora.software/ns/schema/2.0",
href: EventosWeb.Endpoint.url() <> "/nodeinfo/2.0.json"
href: EventosWeb.Router.Helpers.nodeinfo_url(EventosWeb.Endpoint, :nodeinfo, "2.0")
}
]
}
@ -20,7 +20,7 @@ defmodule EventosWeb.NodeinfoController do
end
# Schema definition: https://github.com/jhass/nodeinfo/blob/master/schemas/2.0/schema.json
def nodeinfo(conn, %{"version" => "2.0.json"}) do
def nodeinfo(conn, %{"version" => "2.0"}) do
import Logger
Logger.debug(inspect(@instance))
# stats = Stats.get_stats()

View file

@ -30,6 +30,10 @@ defmodule EventosWeb.Router do
plug(:put_secure_browser_headers)
end
pipeline :nodeinfo do
plug(:accepts, ["html", "application/json"])
end
scope "/api", EventosWeb do
pipe_through(:api)
@ -67,6 +71,12 @@ defmodule EventosWeb.Router do
resources("/addresses", AddressController, only: [:index, :show])
get("/search/:name", SearchController, :search)
scope "/nodeinfo" do
pipe_through(:nodeinfo)
get("/:version", NodeinfoController, :nodeinfo)
end
end
end
@ -110,10 +120,6 @@ defmodule EventosWeb.Router do
get("/nodeinfo", NodeinfoController, :schemas)
end
scope "/nodeinfo", EventosWeb do
get("/:version", NodeinfoController, :nodeinfo)
end
scope "/", EventosWeb do
pipe_through(:activity_pub)

View file

@ -9,7 +9,8 @@ defmodule EventosWeb.NodeinfoControllerTest do
assert json_response(conn, 200) == %{
"links" => [
%{
"href" => EventosWeb.Endpoint.url() <> "/nodeinfo/2.0.json",
"href" =>
EventosWeb.Router.Helpers.nodeinfo_url(EventosWeb.Endpoint, :nodeinfo, "2.0"),
"rel" => "http://nodeinfo.diaspora.software/ns/schema/2.0"
}
]
@ -17,7 +18,7 @@ defmodule EventosWeb.NodeinfoControllerTest do
end
test "Get node info", %{conn: conn} do
conn = get(conn, nodeinfo_path(conn, :nodeinfo, "2.0.json"))
conn = get(conn, nodeinfo_path(conn, :nodeinfo, "2.0"))
resp = json_response(conn, 200)