More meta info fixes.
authorRoger Braun <roger@rogerbraun.net>
Thu, 24 Aug 2017 12:07:05 +0000 (14:07 +0200)
committerRoger Braun <roger@rogerbraun.net>
Thu, 24 Aug 2017 12:07:05 +0000 (14:07 +0200)
lib/pleroma/web/router.ex
lib/pleroma/web/twitter_api/controllers/util_controller.ex

index f88b7191525b6d44a9b73a388df2fd14df875723..585642c333ac16f94d0d06aaa46b3ed87b52e3fc 100644 (file)
@@ -23,12 +23,21 @@ defmodule Pleroma.Web.Router do
     plug :accepts, ["xml", "xrd+xml"]
   end
 
+  pipeline :config do
+    plug :accepts, ["json", "xml"]
+  end
+
   scope "/api", Pleroma.Web do
-    pipe_through :api
+    pipe_through :config
 
     get "/help/test", TwitterAPI.UtilController, :help_test
     post "/help/test", TwitterAPI.UtilController, :help_test
     get "/statusnet/config", TwitterAPI.UtilController, :config
+    get "/statusnet/version", TwitterAPI.UtilController, :version
+  end
+
+  scope "/api", Pleroma.Web do
+    pipe_through :api
 
     get "/statuses/public_timeline", TwitterAPI.Controller, :public_timeline
     get "/statuses/public_and_external_timeline", TwitterAPI.Controller, :public_and_external_timeline
index 2bcae74ce7229ef998d7d39150f320c0b51f3b41..41881e742c98e0fd6bc4174ea784f1b6b9eb246e 100644 (file)
@@ -7,12 +7,39 @@ defmodule Pleroma.Web.TwitterAPI.UtilController do
   end
 
   def config(conn, _params) do
-    json(conn, %{
-          site: %{
-            name: Web.base_url,
-            server: Web.base_url,
-            textlimit: 5000
-          }
-    })
+    case get_format(conn) do
+      "xml" ->
+        response = """
+        <config>
+          <site>
+            <name>#{Web.base_url}</name>
+            <site>#{Web.base_url}</site>
+            <textlimit>5000</textlimit>
+          </site>
+        </config>
+        """
+        conn
+        |> put_resp_content_type("application/xml")
+        |> send_resp(200, response)
+      _ ->
+        json(conn, %{
+              site: %{
+                name: Web.base_url,
+                server: Web.base_url,
+                textlimit: 5000
+              }
+             })
+    end
+  end
+
+  def version(conn, _params) do
+    case get_format(conn) do
+      "xml" ->
+        response = "<version>Pleroma Dev</version>"
+        conn
+        |> put_resp_content_type("application/xml")
+        |> send_resp(200, response)
+      _ -> json(conn, "Pleroma Dev")
+    end
   end
 end