Skip to content

Commit a553da8

Browse files
Merge pull request #9930 from rabbitmq/mergify/bp/v3.12.x/pr-9926
Use rabbit_json in the CLI (backport #9926)
2 parents 7e5c45f + a5b4307 commit a553da8

14 files changed

+19
-24
lines changed

deps/rabbitmq_cli/Makefile

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
11
PROJECT = rabbitmq_cli
22

33
BUILD_DEPS = rabbit_common
4-
DEPS = csv json observer_cli stdout_formatter
4+
DEPS = csv observer_cli stdout_formatter
55
TEST_DEPS = amqp amqp_client temp x509 rabbit
66

77
dep_amqp = hex 3.3.0
88
dep_csv = hex 3.2.0
9-
dep_json = hex 1.4.1
109
dep_temp = hex 0.4.7
1110
dep_x509 = hex 0.8.8
1211

deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/export_definitions_command.ex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ defmodule RabbitMQ.CLI.Ctl.Commands.ExportDefinitionsCommand do
159159
end)
160160
end)
161161

162-
{:ok, json} = JSON.encode(map)
162+
{:ok, json} = :rabbit_json.try_encode(map)
163163
json
164164
end
165165

deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/import_definitions_command.ex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,7 @@ defmodule RabbitMQ.CLI.Ctl.Commands.ImportDefinitionsCommand do
166166
#
167167

168168
defp deserialise(bin, "json") do
169-
JSON.decode(bin)
169+
:rabbit_json.try_decode(bin)
170170
end
171171

172172
defp deserialise(bin, "erlang") do

deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_user_limits_command.ex

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ defmodule RabbitMQ.CLI.Ctl.Commands.ListUserLimitsCommand do
3636

3737
val ->
3838
Enum.map(val, fn {user, val} ->
39-
{:ok, val_encoded} = JSON.encode(Map.new(val))
39+
{:ok, val_encoded} = :rabbit_json.try_encode(Map.new(val))
4040
[user: user, limits: val_encoded]
4141
end)
4242
end
@@ -56,7 +56,7 @@ defmodule RabbitMQ.CLI.Ctl.Commands.ListUserLimitsCommand do
5656
{:badrpc, node}
5757

5858
val when is_list(val) or is_map(val) ->
59-
{:ok, val_encoded} = JSON.encode(Map.new(val))
59+
{:ok, val_encoded} = :rabbit_json.try_encode(Map.new(val))
6060
val_encoded
6161
end
6262
end

deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/list_vhost_limits_command.ex

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ defmodule RabbitMQ.CLI.Ctl.Commands.ListVhostLimitsCommand do
3636

3737
val ->
3838
Enum.map(val, fn {vhost, val} ->
39-
{:ok, val_encoded} = JSON.encode(Map.new(val))
39+
{:ok, val_encoded} = :rabbit_json.try_encode(Map.new(val))
4040
[vhost: vhost, limits: val_encoded]
4141
end)
4242
end
@@ -54,7 +54,7 @@ defmodule RabbitMQ.CLI.Ctl.Commands.ListVhostLimitsCommand do
5454
{:badrpc, node}
5555

5656
val when is_list(val) or is_map(val) ->
57-
JSON.encode(Map.new(val))
57+
:rabbit_json.try_encode(Map.new(val))
5858
end
5959
end
6060

deps/rabbitmq_cli/lib/rabbitmq/cli/formatters/json.ex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ defmodule RabbitMQ.CLI.Formatters.Json do
1818
end
1919

2020
def format_output(output, _opts) do
21-
{:ok, json} = JSON.encode(keys_to_atoms(output))
21+
{:ok, json} = :rabbit_json.try_encode(keys_to_atoms(output))
2222
json
2323
end
2424

deps/rabbitmq_cli/lib/rabbitmq/cli/formatters/json_stream.ex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ defmodule RabbitMQ.CLI.Formatters.JsonStream do
3131
end
3232

3333
def format_output(output, _opts) do
34-
{:ok, json} = JSON.encode(keys_to_atoms(output))
34+
{:ok, json} = :rabbit_json.try_encode(output)
3535
json
3636
end
3737

deps/rabbitmq_cli/lib/rabbitmqctl.ex

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -558,7 +558,7 @@ defmodule RabbitMQCtl do
558558
end
559559

560560
defp format_error({:error, :check_failed, err}, %{formatter: "json"}, _) when is_map(err) do
561-
{:ok, res} = JSON.encode(err)
561+
{:ok, res} = :rabbit_json.try_encode(err)
562562
{:error, ExitCodes.exit_unavailable(), res}
563563
end
564564

@@ -578,12 +578,12 @@ defmodule RabbitMQCtl do
578578

579579
# Catch all clauses
580580
defp format_error({:error, err}, %{formatter: "json"}, _) when is_map(err) do
581-
{:ok, res} = JSON.encode(err)
581+
{:ok, res} = :rabbit_json.try_encode(err)
582582
{:error, ExitCodes.exit_unavailable(), res}
583583
end
584584

585585
defp format_error({:error, exit_code, err}, %{formatter: "json"}, _) when is_map(err) do
586-
{:ok, res} = JSON.encode(err)
586+
{:ok, res} = :rabbit_json.try_encode(err)
587587
{:error, exit_code, res}
588588
end
589589

deps/rabbitmq_cli/mix.exs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ defmodule RabbitMQCtl.MixfileBase do
1515
build_embedded: Mix.env() == :prod,
1616
start_permanent: Mix.env() == :prod,
1717
escript: [main_module: RabbitMQCtl, emu_args: "-hidden", path: "escript/rabbitmqctl"],
18+
prune_code_paths: false,
1819
deps: deps(Mix.env()),
1920
aliases: aliases(),
2021
xref: [
@@ -139,10 +140,6 @@ defmodule RabbitMQCtl.MixfileBase do
139140
is_bazel = System.get_env("IS_BAZEL") != nil
140141

141142
[
142-
{
143-
:json,
144-
path: Path.join(deps_dir, "json")
145-
},
146143
{
147144
:csv,
148145
path: Path.join(deps_dir, "csv")

deps/rabbitmq_cli/test/ctl/export_definitions_command_test.exs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ defmodule ExportDefinitionsCommandTest do
111111
{:ok, nil} = @command.run([valid_file_path()], context[:opts])
112112

113113
{:ok, bin} = File.read(valid_file_path())
114-
{:ok, map} = JSON.decode(bin)
114+
{:ok, map} = :rabbit_json.try_decode(bin)
115115
assert Map.has_key?(map, "rabbitmq_version")
116116
end
117117

@@ -128,7 +128,7 @@ defmodule ExportDefinitionsCommandTest do
128128
clear_parameter("/", "federation-upstream", "up-1")
129129

130130
{:ok, bin} = File.read(valid_file_path())
131-
{:ok, map} = JSON.decode(bin)
131+
{:ok, map} = :rabbit_json.try_decode(bin)
132132
assert Map.has_key?(map, "rabbitmq_version")
133133
params = map["parameters"]
134134
assert is_map(hd(params)["value"])

0 commit comments

Comments
 (0)