summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMichael Klishin <michael@novemberain.com>2016-11-09 18:46:18 +0300
committerGitHub <noreply@github.com>2016-11-09 18:46:18 +0300
commit590d717a266922ce76e1b214ea1045408b2401bd (patch)
treece6f8372988387fa620ba69e6d774d078349cee9 /src
parent69119fe7298b189ff20061a31a18e32cbdff1237 (diff)
parent5a79e0e79b39681257b29ac0b5a11d144f83c589 (diff)
downloadrabbitmq-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.src2
-rw-r--r--src/rabbit_diagnostics.erl1
-rw-r--r--src/rabbit_policy.erl15
-rw-r--r--src/rabbit_runtime_parameters.erl15
-rw-r--r--src/rabbit_vhost_limit.erl7
-rw-r--r--src/rabbit_vm.erl3
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"]).
%%----------------------------------------------------------------------------