Switch to Jason for json handling.
authorlain <lain@soykaf.club>
Tue, 27 Mar 2018 14:09:08 +0000 (16:09 +0200)
committerlain <lain@soykaf.club>
Tue, 27 Mar 2018 14:09:08 +0000 (16:09 +0200)
It's twice as fast and will be the standard in the coming ecto.

config/config.exs
lib/pleroma/web/endpoint.ex
mix.exs
mix.lock

index bd714a189bd45a999e96cd0afec6d2e2b6629534..a7429fcdfcd4ba4d6a0898b5aef4bd166e1924cc 100644 (file)
@@ -9,6 +9,9 @@ use Mix.Config
 config :pleroma,
   ecto_repos: [Pleroma.Repo]
 
+config :pleroma, Pleroma.Repo,
+  types: Pleroma.PostgresTypes
+
 config :pleroma, Pleroma.Upload,
   uploads: "uploads"
 
@@ -61,6 +64,11 @@ config :pleroma, :media_proxy,
 config :pleroma, :chat,
   enabled: true
 
+config :ecto, json_library: Jason
+
+config :phoenix, :format_encoders,
+  json: Jason
+
 # Import environment specific config. This must remain at the bottom
 # of this file so it overrides the configuration defined above.
 import_config "#{Mix.env}.exs"
index 93b37dc74faf2654031cd281a66abc8cf111a88c..a2fb71451bf8cb04750f7838704151b27c951f1f 100644 (file)
@@ -29,7 +29,7 @@ defmodule Pleroma.Web.Endpoint do
   plug Plug.Parsers,
     parsers: [:urlencoded, :multipart, :json],
     pass: ["*/*"],
-    json_decoder: Poison
+    json_decoder: Jason
 
   plug Plug.MethodOverride
   plug Plug.Head
diff --git a/mix.exs b/mix.exs
index 00733c26a64fe3a085b6f873159a109bd61f1af5..7320ac543b7b9e476ef2a3e282e04027e1cafc27 100644 (file)
--- a/mix.exs
+++ b/mix.exs
@@ -41,6 +41,7 @@ defmodule Pleroma.Mixfile do
      {:calendar, "~> 0.16.1"},
      {:cachex, "~> 2.1"},
      {:httpoison, "~> 0.11.2"},
+     {:jason, "~> 1.0"},
      {:ex_machina, "~> 2.0", only: :test},
      {:credo, "~> 0.7", only: [:dev, :test]}]
   end
index d5aca57f79cd677c67adb4f88f05c6e08587c6b6..80c7436fc12444128a27f459dc35a20271d766e6 100644 (file)
--- a/mix.lock
+++ b/mix.lock
@@ -23,6 +23,7 @@
   "html_sanitize_ex": {:hex, :html_sanitize_ex, "1.3.0", "f005ad692b717691203f940c686208aa3d8ffd9dd4bb3699240096a51fa9564e", [:mix], [{:mochiweb, "~> 2.15", [hex: :mochiweb, repo: "hexpm", optional: false]}], "hexpm"},
   "httpoison": {:hex, :httpoison, "0.11.2", "9e59f17a473ef6948f63c51db07320477bad8ba88cf1df60a3eee01150306665", [:mix], [{:hackney, "~> 1.8.0", [hex: :hackney, repo: "hexpm", optional: false]}], "hexpm"},
   "idna": {:hex, :idna, "5.0.2", "ac203208ada855d95dc591a764b6e87259cb0e2a364218f215ad662daa8cd6b4", [:rebar3], [{:unicode_util_compat, "0.2.0", [hex: :unicode_util_compat, repo: "hexpm", optional: false]}], "hexpm"},
+  "jason": {:hex, :jason, "1.0.0", "0f7cfa9bdb23fed721ec05419bcee2b2c21a77e926bce0deda029b5adc716fe2", [:mix], [{:decimal, "~> 1.0", [hex: :decimal, repo: "hexpm", optional: true]}], "hexpm"},
   "metrics": {:hex, :metrics, "1.0.1", "25f094dea2cda98213cecc3aeff09e940299d950904393b2a29d191c346a8486", [:rebar3], [], "hexpm"},
   "mime": {:hex, :mime, "1.2.0", "78adaa84832b3680de06f88f0997e3ead3b451a440d183d688085be2d709b534", [:mix], [], "hexpm"},
   "mimerl": {:hex, :mimerl, "1.0.2", "993f9b0e084083405ed8252b99460c4f0563e41729ab42d9074fd5e52439be88", [:rebar3], [], "hexpm"},