Replace poison dependency w/ jason

The dependency took a long time to compile, and was causing problems for
a user who was attempting to build the project.

Since it wasn't a strictly necessary dependency, and `jason` was already
included in the project, all instances of `poison` have been replaced
with `jason`.

The only additional code that this introduced was converting from
generic maps returned by `Jason.decode` into Service structs.
This commit is contained in:
Ben Busby 2022-02-14 11:21:32 -07:00
parent 51aba2ad78
commit 5235f5a3bf
No known key found for this signature in database
GPG key ID: B9B7231E01D924A1
3 changed files with 9 additions and 4 deletions

View file

@ -43,10 +43,16 @@ defmodule Farside.Instances do
def update() do
{:ok, file} = File.read(@services_json)
{:ok, json} = Poison.decode(file, as: [%Service{}])
{:ok, json} = Jason.decode(file)
# Loop through all instances and check each for availability
for service <- json do
for service_json <- json do
service_atom = for {key, val} <- service_json, into: %{} do
{String.to_existing_atom(key), val}
end
service = struct(%Service{}, service_atom)
IO.puts("#{@debug_header}#{service.type}")
result =

View file

@ -26,7 +26,6 @@ defmodule Farside.MixProject do
{:jason, "~> 1.1"},
{:plug_attack, "~> 0.4.2"},
{:plug_cowboy, "~> 2.0"},
{:poison, "~> 5.0"},
{:quantum, "~> 3.0"},
{:redix, "~> 1.1"}
]

View file

@ -45,7 +45,7 @@ defmodule FarsideTest do
test "/:service" do
{:ok, file} = File.read(@services_json)
{:ok, service_list} = Poison.decode(file, as: [%{}])
{:ok, service_list} = Jason.decode(file)
service_names =
Enum.map(