diff options
| author | Michael Klishin <michael@novemberain.com> | 2016-11-09 18:46:18 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2016-11-09 18:46:18 +0300 |
| commit | 590d717a266922ce76e1b214ea1045408b2401bd (patch) | |
| tree | ce6f8372988387fa620ba69e6d774d078349cee9 /src | |
| parent | 69119fe7298b189ff20061a31a18e32cbdff1237 (diff) | |
| parent | 5a79e0e79b39681257b29ac0b5a11d144f83c589 (diff) | |
| download | rabbitmq-server-git-590d717a266922ce76e1b214ea1045408b2401bd.tar.gz | |
Merge pull request #1025 from rabbitmq/rabbitmq-common-46
Switch JSON library to JSX
Diffstat (limited to 'src')
| -rw-r--r-- | src/rabbit.app.src | 2 | ||||
| -rw-r--r-- | src/rabbit_diagnostics.erl | 1 | ||||
| -rw-r--r-- | src/rabbit_policy.erl | 15 | ||||
| -rw-r--r-- | src/rabbit_runtime_parameters.erl | 15 | ||||
| -rw-r--r-- | src/rabbit_vhost_limit.erl | 7 | ||||
| -rw-r--r-- | src/rabbit_vm.erl | 3 |
6 files changed, 18 insertions, 25 deletions
diff --git a/src/rabbit.app.src b/src/rabbit.app.src index 59e8e93f8d..250b14bc32 100644 --- a/src/rabbit.app.src +++ b/src/rabbit.app.src @@ -12,7 +12,7 @@ rabbit_direct_client_sup]}, %% FIXME: Remove goldrush, once rabbit_plugins.erl knows how to ignore %% indirect dependencies of rabbit. - {applications, [kernel, stdlib, sasl, mnesia, goldrush, lager, rabbit_common, ranch, os_mon, xmerl]}, + {applications, [kernel, stdlib, sasl, mnesia, goldrush, lager, rabbit_common, ranch, os_mon, xmerl, jsx]}, %% we also depend on crypto, public_key and ssl but they shouldn't be %% in here as we don't actually want to start it {mod, {rabbit, []}}, diff --git a/src/rabbit_diagnostics.erl b/src/rabbit_diagnostics.erl index d28bb9ffd7..e5df1d5baf 100644 --- a/src/rabbit_diagnostics.erl +++ b/src/rabbit_diagnostics.erl @@ -64,7 +64,6 @@ maybe_stuck_stacktrace({prim_inet, accept0, _}) -> false; maybe_stuck_stacktrace({prim_inet, recv0, _}) -> false; maybe_stuck_stacktrace({rabbit_heartbeat, heartbeater, _}) -> false; maybe_stuck_stacktrace({rabbit_net, recv, _}) -> false; -maybe_stuck_stacktrace({mochiweb_http, request, _}) -> false; maybe_stuck_stacktrace({group, _, _}) -> false; maybe_stuck_stacktrace({shell, _, _}) -> false; maybe_stuck_stacktrace({io, _, _}) -> false; diff --git a/src/rabbit_policy.erl b/src/rabbit_policy.erl index 7e39164882..cfbf116cbd 100644 --- a/src/rabbit_policy.erl +++ b/src/rabbit_policy.erl @@ -212,11 +212,12 @@ parse_set(Type, VHost, Name, Pattern, Definition, Priority, ApplyTo) -> end. parse_set0(Type, VHost, Name, Pattern, Defn, Priority, ApplyTo) -> - case rabbit_misc:json_decode(Defn) of - {ok, JSON} -> + Definition = rabbit_data_coercion:to_binary(Defn), + case rabbit_json:try_decode(Definition) of + {ok, Term} -> set0(Type, VHost, Name, [{<<"pattern">>, list_to_binary(Pattern)}, - {<<"definition">>, rabbit_misc:json_to_term(JSON)}, + {<<"definition">>, maps:to_list(Term)}, {<<"priority">>, Priority}, {<<"apply-to">>, ApplyTo}]); error -> @@ -270,7 +271,7 @@ list_op(VHost) -> list0_op(VHost, fun ident/1). list_formatted_op(VHost) -> - order_policies(list0_op(VHost, fun format/1)). + order_policies(list0_op(VHost, fun rabbit_json:encode/1)). list_formatted_op(VHost, Ref, AggregatorPid) -> rabbit_control_misc:emitting_map(AggregatorPid, Ref, @@ -288,7 +289,7 @@ list(VHost) -> list0(VHost, fun ident/1). list_formatted(VHost) -> - order_policies(list0(VHost, fun format/1)). + order_policies(list0(VHost, fun rabbit_json:encode/1)). list_formatted(VHost, Ref, AggregatorPid) -> rabbit_control_misc:emitting_map(AggregatorPid, Ref, @@ -309,10 +310,6 @@ p(Parameter, DefnFun) -> {definition, DefnFun(pget(<<"definition">>, Value))}, {priority, pget(<<"priority">>, Value)}]. -format(Term) -> - {ok, JSON} = rabbit_misc:json_encode(rabbit_misc:term_to_json(Term)), - list_to_binary(JSON). - ident(X) -> X. info_keys() -> [vhost, name, 'apply-to', pattern, definition, priority]. diff --git a/src/rabbit_runtime_parameters.erl b/src/rabbit_runtime_parameters.erl index 97f78da8ba..072a48be3d 100644 --- a/src/rabbit_runtime_parameters.erl +++ b/src/rabbit_runtime_parameters.erl @@ -97,9 +97,10 @@ parse_set(_, <<"policy">>, _, _, _) -> {error_string, "policies may not be set using this method"}; parse_set(VHost, Component, Name, String, User) -> - case rabbit_misc:json_decode(String) of - {ok, JSON} -> set(VHost, Component, Name, - rabbit_misc:json_to_term(JSON), User); + Definition = rabbit_data_coercion:to_binary(String), + case rabbit_json:try_decode(Definition) of + {ok, Term} when is_map(Term) -> set(VHost, Component, Name, maps:to_list(Term), User); + {ok, Term} -> set(VHost, Component, Name, Term, User); error -> {error_string, "JSON decoding error"} end. @@ -235,12 +236,12 @@ list(VHost, Component) -> end). list_formatted(VHost) -> - [pset(value, format(pget(value, P)), P) || P <- list(VHost)]. + [pset(value, rabbit_json:encode(pget(value, P)), P) || P <- list(VHost)]. list_formatted(VHost, Ref, AggregatorPid) -> rabbit_control_misc:emitting_map( AggregatorPid, Ref, - fun(P) -> pset(value, format(pget(value, P)), P) end, list(VHost)). + fun(P) -> pset(value, rabbit_json:encode(pget(value, P)), P) end, list(VHost)). lookup(VHost, Component, Name) -> case lookup0({VHost, Component, Name}, rabbit_misc:const(not_found)) of @@ -303,10 +304,6 @@ lookup_component(Component) -> {ok, Module} -> {ok, Module} end. -format(Term) -> - {ok, JSON} = rabbit_misc:json_encode(rabbit_misc:term_to_json(Term)), - list_to_binary(JSON). - flatten_errors(L) -> case [{F, A} || I <- lists:flatten([L]), {error, F, A} <- [I]] of [] -> ok; diff --git a/src/rabbit_vhost_limit.erl b/src/rabbit_vhost_limit.erl index b933c31402..287488b28b 100644 --- a/src/rabbit_vhost_limit.erl +++ b/src/rabbit_vhost_limit.erl @@ -124,9 +124,10 @@ is_over_queue_limit(VirtualHost) -> %%---------------------------------------------------------------------------- parse_set(VHost, Defn) -> - case rabbit_misc:json_decode(Defn) of - {ok, JSON} -> - set(VHost, rabbit_misc:json_to_term(JSON)); + Definition = rabbit_data_coercion:to_binary(Defn), + case rabbit_json:try_decode(Definition) of + {ok, Term} -> + set(VHost, maps:to_list(Term)); error -> {error_string, "JSON decoding error"} end. diff --git a/src/rabbit_vm.erl b/src/rabbit_vm.erl index 9c8732bb6b..1aba5538a1 100644 --- a/src/rabbit_vm.erl +++ b/src/rabbit_vm.erl @@ -18,8 +18,7 @@ -export([memory/0, binary/0, ets_tables_memory/1]). --define(MAGIC_PLUGINS, ["mochiweb", "webmachine", "cowboy", "sockjs", - "rfc4627_jsonrpc"]). +-define(MAGIC_PLUGINS, ["cowboy", "ranch", "sockjs"]). %%---------------------------------------------------------------------------- |
