summaryrefslogtreecommitdiff
path: root/deps/rabbitmq_management
diff options
context:
space:
mode:
authorMichael Klishin <mklishin@pivotal.io>2017-03-24 22:21:03 +0300
committerMichael Klishin <mklishin@pivotal.io>2017-03-24 22:21:03 +0300
commitd3934be04b83e69c46f1c2ca0db9a9671cf00511 (patch)
tree6fafa248adcbb50f80d3ee059cef9ccfa494bad4 /deps/rabbitmq_management
parent1403a92f4c3981e28fbd21d3605b2178ecb86ac0 (diff)
parenta8eaf48085f1e953eeca0a66256adda0d0f80c6c (diff)
downloadrabbitmq-server-git-d3934be04b83e69c46f1c2ca0db9a9671cf00511.tar.gz
Merge branch 'stable'
Conflicts: src/rabbit_mgmt_util.erl
Diffstat (limited to 'deps/rabbitmq_management')
-rw-r--r--deps/rabbitmq_management/src/rabbit_mgmt_util.erl28
-rw-r--r--deps/rabbitmq_management/src/rabbit_mgmt_wm_aliveness_test.erl2
-rw-r--r--deps/rabbitmq_management/src/rabbit_mgmt_wm_binding.erl2
-rw-r--r--deps/rabbitmq_management/src/rabbit_mgmt_wm_bindings.erl2
-rw-r--r--deps/rabbitmq_management/src/rabbit_mgmt_wm_channel.erl2
-rw-r--r--deps/rabbitmq_management/src/rabbit_mgmt_wm_channels.erl2
-rw-r--r--deps/rabbitmq_management/src/rabbit_mgmt_wm_channels_vhost.erl2
-rw-r--r--deps/rabbitmq_management/src/rabbit_mgmt_wm_cluster_name.erl2
-rw-r--r--deps/rabbitmq_management/src/rabbit_mgmt_wm_connection.erl2
-rw-r--r--deps/rabbitmq_management/src/rabbit_mgmt_wm_connection_channels.erl2
-rw-r--r--deps/rabbitmq_management/src/rabbit_mgmt_wm_connections.erl2
-rw-r--r--deps/rabbitmq_management/src/rabbit_mgmt_wm_connections_vhost.erl2
-rw-r--r--deps/rabbitmq_management/src/rabbit_mgmt_wm_consumers.erl2
-rw-r--r--deps/rabbitmq_management/src/rabbit_mgmt_wm_definitions.erl2
-rw-r--r--deps/rabbitmq_management/src/rabbit_mgmt_wm_exchange.erl2
-rw-r--r--deps/rabbitmq_management/src/rabbit_mgmt_wm_exchange_publish.erl2
-rw-r--r--deps/rabbitmq_management/src/rabbit_mgmt_wm_exchanges.erl2
-rw-r--r--deps/rabbitmq_management/src/rabbit_mgmt_wm_extensions.erl2
-rw-r--r--deps/rabbitmq_management/src/rabbit_mgmt_wm_global_parameter.erl2
-rw-r--r--deps/rabbitmq_management/src/rabbit_mgmt_wm_global_parameters.erl4
-rw-r--r--deps/rabbitmq_management/src/rabbit_mgmt_wm_healthchecks.erl2
-rw-r--r--deps/rabbitmq_management/src/rabbit_mgmt_wm_node.erl2
-rw-r--r--deps/rabbitmq_management/src/rabbit_mgmt_wm_node_memory.erl2
-rw-r--r--deps/rabbitmq_management/src/rabbit_mgmt_wm_node_memory_ets.erl2
-rw-r--r--deps/rabbitmq_management/src/rabbit_mgmt_wm_nodes.erl2
-rw-r--r--deps/rabbitmq_management/src/rabbit_mgmt_wm_overview.erl2
-rw-r--r--deps/rabbitmq_management/src/rabbit_mgmt_wm_parameter.erl2
-rw-r--r--deps/rabbitmq_management/src/rabbit_mgmt_wm_parameters.erl2
-rw-r--r--deps/rabbitmq_management/src/rabbit_mgmt_wm_permission.erl2
-rw-r--r--deps/rabbitmq_management/src/rabbit_mgmt_wm_permissions.erl2
-rw-r--r--deps/rabbitmq_management/src/rabbit_mgmt_wm_permissions_user.erl2
-rw-r--r--deps/rabbitmq_management/src/rabbit_mgmt_wm_permissions_vhost.erl2
-rw-r--r--deps/rabbitmq_management/src/rabbit_mgmt_wm_policies.erl2
-rw-r--r--deps/rabbitmq_management/src/rabbit_mgmt_wm_policy.erl2
-rw-r--r--deps/rabbitmq_management/src/rabbit_mgmt_wm_queue.erl2
-rw-r--r--deps/rabbitmq_management/src/rabbit_mgmt_wm_queue_get.erl2
-rw-r--r--deps/rabbitmq_management/src/rabbit_mgmt_wm_queues.erl2
-rw-r--r--deps/rabbitmq_management/src/rabbit_mgmt_wm_user.erl2
-rw-r--r--deps/rabbitmq_management/src/rabbit_mgmt_wm_users.erl2
-rw-r--r--deps/rabbitmq_management/src/rabbit_mgmt_wm_vhost.erl2
-rw-r--r--deps/rabbitmq_management/src/rabbit_mgmt_wm_vhosts.erl2
-rw-r--r--deps/rabbitmq_management/src/rabbit_mgmt_wm_whoami.erl2
-rw-r--r--deps/rabbitmq_management/test/rabbit_mgmt_http_SUITE.erl2
43 files changed, 68 insertions, 46 deletions
diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_util.erl b/deps/rabbitmq_management/src/rabbit_mgmt_util.erl
index 14babb9ab4..bb45c9525c 100644
--- a/deps/rabbitmq_management/src/rabbit_mgmt_util.erl
+++ b/deps/rabbitmq_management/src/rabbit_mgmt_util.erl
@@ -30,7 +30,8 @@
-export([with_decode/4, not_found/3, amqp_request/4]).
-export([with_channel/4, with_channel/5]).
-export([props_to_method/2, props_to_method/4]).
--export([all_or_one_vhost/2, http_to_amqp/5, reply/3, filter_vhost/3]).
+-export([all_or_one_vhost/2, http_to_amqp/5, reply/3, responder_map/1,
+ filter_vhost/3]).
-export([filter_conn_ch_list/3, filter_user/2, list_login_vhosts/2]).
-export([with_decode/5, decode/1, decode/2, set_resp_header/3,
args/1]).
@@ -209,14 +210,30 @@ destination_type(ReqData) ->
<<"q">> -> queue
end.
+%% Provides a map of content type-to-responder that are supported by
+%% reply/3. The map can be used in the content_types_provided/2 callback
+%% used by cowboy_rest. Responder functions must be
+%% exported from the caller module and must use reply/3
+%% under the hood.
+responder_map(FunctionName) ->
+ [
+ {<<"application/json">>, FunctionName}
+ , {<<"application/bert">>, FunctionName}
+ ].
+
reply(Facts, ReqData, Context) ->
reply0(extract_columns(Facts, ReqData), ReqData, Context).
reply0(Facts, ReqData, Context) ->
ReqData1 = set_resp_header(<<"Cache-Control">>, "no-cache", ReqData),
try
- {rabbit_json:encode(rabbit_mgmt_format:format_nulls(Facts)), ReqData1,
- Context}
+ case cowboy_req:meta(media_type, ReqData1) of
+ {{<<"application">>, <<"bert">>, _}, _} ->
+ {term_to_binary(Facts), ReqData1, Context};
+ _ ->
+ {rabbit_json:encode(rabbit_mgmt_format:format_nulls(Facts)), ReqData1,
+ Context}
+ end
catch exit:{json_encode, E} ->
Error = iolist_to_binary(
io_lib:format("JSON encode error: ~p", [E])),
@@ -271,6 +288,11 @@ reply_list_or_paginate(Facts, ReqData, Context) ->
sort_list(Facts, Sorts) -> sort_list(Facts, Sorts, undefined, false,
undefined).
+sort_list(Facts, _, [], _, _) ->
+ %% Do not sort when we are explicitly requsted to sort with an
+ %% empty sort columns list. Note that this clause won't match when
+ %% 'sort' parameter is not provided in a HTTP request at all.
+ Facts;
sort_list(Facts, DefaultSorts, Sort, Reverse, Pagination) ->
SortList = case Sort of
undefined -> DefaultSorts;
diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_aliveness_test.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_aliveness_test.erl
index 582d906619..f03eaf5589 100644
--- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_aliveness_test.erl
+++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_aliveness_test.erl
@@ -36,7 +36,7 @@ variances(Req, Context) ->
{[<<"accept-encoding">>, <<"origin">>], Req, Context}.
content_types_provided(ReqData, Context) ->
- {[{<<"application/json">>, to_json}], ReqData, Context}.
+ {rabbit_mgmt_util:responder_map(to_json), ReqData, Context}.
resource_exists(ReqData, Context) ->
{case rabbit_mgmt_util:vhost(ReqData) of
diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_binding.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_binding.erl
index be8688e42d..9d68446f51 100644
--- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_binding.erl
+++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_binding.erl
@@ -35,7 +35,7 @@ variances(Req, Context) ->
{[<<"accept-encoding">>, <<"origin">>], Req, Context}.
content_types_provided(ReqData, Context) ->
- {[{<<"application/json">>, to_json}], ReqData, Context}.
+ {rabbit_mgmt_util:responder_map(to_json), ReqData, Context}.
content_types_accepted(ReqData, Context) ->
{[{'*', accept_content}], ReqData, Context}.
diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_bindings.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_bindings.erl
index 5ffe5b30ad..719cf509b7 100644
--- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_bindings.erl
+++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_bindings.erl
@@ -36,7 +36,7 @@ variances(Req, Context) ->
{[<<"accept-encoding">>, <<"origin">>], Req, Context}.
content_types_provided(ReqData, Context) ->
- {[{<<"application/json">>, to_json}], ReqData, Context}.
+ {rabbit_mgmt_util:responder_map(to_json), ReqData, Context}.
%% The current version of Cowboy forces us to report the resource doesn't
%% exist here in order to get a 201 response. It seems Cowboy confuses the
diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_channel.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_channel.erl
index a3c43f9cbe..eeef2f0b45 100644
--- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_channel.erl
+++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_channel.erl
@@ -34,7 +34,7 @@ variances(Req, Context) ->
{[<<"accept-encoding">>, <<"origin">>], Req, Context}.
content_types_provided(ReqData, Context) ->
- {[{<<"application/json">>, to_json}], ReqData, Context}.
+ {rabbit_mgmt_util:responder_map(to_json), ReqData, Context}.
resource_exists(ReqData, Context) ->
case channel(ReqData) of
diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_channels.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_channels.erl
index 5a527a142b..80ab49e417 100644
--- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_channels.erl
+++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_channels.erl
@@ -36,7 +36,7 @@ variances(Req, Context) ->
{[<<"accept-encoding">>, <<"origin">>], Req, Context}.
content_types_provided(ReqData, Context) ->
- {[{<<"application/json">>, to_json}], ReqData, Context}.
+ {rabbit_mgmt_util:responder_map(to_json), ReqData, Context}.
to_json(ReqData, Context) ->
try
diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_channels_vhost.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_channels_vhost.erl
index 785e3c2ad4..985982b1c7 100644
--- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_channels_vhost.erl
+++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_channels_vhost.erl
@@ -38,7 +38,7 @@ variances(Req, Context) ->
{[<<"accept-encoding">>, <<"origin">>], Req, Context}.
content_types_provided(ReqData, Context) ->
- {[{<<"application/json">>, to_json}], ReqData, Context}.
+ {rabbit_mgmt_util:responder_map(to_json), ReqData, Context}.
resource_exists(ReqData, Context) ->
{rabbit_vhost:exists(rabbit_mgmt_util:id(vhost, ReqData)), ReqData, Context}.
diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_cluster_name.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_cluster_name.erl
index 06c504a84c..d7b3d4293c 100644
--- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_cluster_name.erl
+++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_cluster_name.erl
@@ -35,7 +35,7 @@ variances(Req, Context) ->
{[<<"accept-encoding">>, <<"origin">>], Req, Context}.
content_types_provided(ReqData, Context) ->
- {[{<<"application/json">>, to_json}], ReqData, Context}.
+ {rabbit_mgmt_util:responder_map(to_json), ReqData, Context}.
content_types_accepted(ReqData, Context) ->
{[{'*', accept_content}], ReqData, Context}.
diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_connection.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_connection.erl
index 9a812dddae..cf74b63ec7 100644
--- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_connection.erl
+++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_connection.erl
@@ -34,7 +34,7 @@ variances(Req, Context) ->
{[<<"accept-encoding">>, <<"origin">>], Req, Context}.
content_types_provided(ReqData, Context) ->
- {[{<<"application/json">>, to_json}], ReqData, Context}.
+ {rabbit_mgmt_util:responder_map(to_json), ReqData, Context}.
allowed_methods(ReqData, Context) ->
{[<<"HEAD">>, <<"GET">>, <<"DELETE">>, <<"OPTIONS">>], ReqData, Context}.
diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_connection_channels.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_connection_channels.erl
index dc5fd6f16c..4f59f3a365 100644
--- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_connection_channels.erl
+++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_connection_channels.erl
@@ -34,7 +34,7 @@ variances(Req, Context) ->
{[<<"accept-encoding">>, <<"origin">>], Req, Context}.
content_types_provided(ReqData, Context) ->
- {[{<<"application/json">>, to_json}], ReqData, Context}.
+ {rabbit_mgmt_util:responder_map(to_json), ReqData, Context}.
resource_exists(ReqData, Context) ->
case rabbit_mgmt_wm_connection:conn(ReqData) of
diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_connections.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_connections.erl
index c5d82e378a..8c68d14bea 100644
--- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_connections.erl
+++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_connections.erl
@@ -36,7 +36,7 @@ variances(Req, Context) ->
{[<<"accept-encoding">>, <<"origin">>], Req, Context}.
content_types_provided(ReqData, Context) ->
- {[{<<"application/json">>, to_json}], ReqData, Context}.
+ {rabbit_mgmt_util:responder_map(to_json), ReqData, Context}.
to_json(ReqData, Context) ->
try
diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_connections_vhost.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_connections_vhost.erl
index 5437023d69..358c28ad4a 100644
--- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_connections_vhost.erl
+++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_connections_vhost.erl
@@ -38,7 +38,7 @@ variances(Req, Context) ->
{[<<"accept-encoding">>, <<"origin">>], Req, Context}.
content_types_provided(ReqData, Context) ->
- {[{<<"application/json">>, to_json}], ReqData, Context}.
+ {rabbit_mgmt_util:responder_map(to_json), ReqData, Context}.
resource_exists(ReqData, Context) ->
{rabbit_vhost:exists(rabbit_mgmt_util:id(vhost, ReqData)), ReqData, Context}.
diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_consumers.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_consumers.erl
index 9735a3cb7e..5c13f4e5a3 100644
--- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_consumers.erl
+++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_consumers.erl
@@ -35,7 +35,7 @@ variances(Req, Context) ->
{[<<"accept-encoding">>, <<"origin">>], Req, Context}.
content_types_provided(ReqData, Context) ->
- {[{<<"application/json">>, to_json}], ReqData, Context}.
+ {rabbit_mgmt_util:responder_map(to_json), ReqData, Context}.
resource_exists(ReqData, Context) ->
{case rabbit_mgmt_util:vhost(ReqData) of
diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_definitions.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_definitions.erl
index 81835e04fb..86e6bd219d 100644
--- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_definitions.erl
+++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_definitions.erl
@@ -40,7 +40,7 @@ variances(Req, Context) ->
{[<<"accept-encoding">>, <<"origin">>], Req, Context}.
content_types_provided(ReqData, Context) ->
- {[{<<"application/json">>, to_json}], ReqData, Context}.
+ {rabbit_mgmt_util:responder_map(to_json), ReqData, Context}.
content_types_accepted(ReqData, Context) ->
{[{<<"application/json">>, accept_json},
diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_exchange.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_exchange.erl
index 215e9f2499..55721e3c0f 100644
--- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_exchange.erl
+++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_exchange.erl
@@ -36,7 +36,7 @@ variances(Req, Context) ->
{[<<"accept-encoding">>, <<"origin">>], Req, Context}.
content_types_provided(ReqData, Context) ->
- {[{<<"application/json">>, to_json}], ReqData, Context}.
+ {rabbit_mgmt_util:responder_map(to_json), ReqData, Context}.
content_types_accepted(ReqData, Context) ->
{[{'*', accept_content}], ReqData, Context}.
diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_exchange_publish.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_exchange_publish.erl
index a6b31fbcdf..f9004b2303 100644
--- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_exchange_publish.erl
+++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_exchange_publish.erl
@@ -38,7 +38,7 @@ allowed_methods(ReqData, Context) ->
{[<<"POST">>, <<"OPTIONS">>], ReqData, Context}.
content_types_provided(ReqData, Context) ->
- {[{<<"application/json">>, to_json}], ReqData, Context}.
+ {rabbit_mgmt_util:responder_map(to_json), ReqData, Context}.
resource_exists(ReqData, Context) ->
{case rabbit_mgmt_wm_exchange:exchange(ReqData) of
diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_exchanges.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_exchanges.erl
index 70ec59f81d..0d513d3940 100644
--- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_exchanges.erl
+++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_exchanges.erl
@@ -34,7 +34,7 @@ variances(Req, Context) ->
{[<<"accept-encoding">>, <<"origin">>], Req, Context}.
content_types_provided(ReqData, Context) ->
- {[{<<"application/json">>, to_json}], ReqData, Context}.
+ {rabbit_mgmt_util:responder_map(to_json), ReqData, Context}.
resource_exists(ReqData, Context) ->
{case exchanges0(ReqData) of
diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_extensions.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_extensions.erl
index f3202d1a2d..4e1d70ad17 100644
--- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_extensions.erl
+++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_extensions.erl
@@ -33,7 +33,7 @@ variances(Req, Context) ->
{[<<"accept-encoding">>, <<"origin">>], Req, Context}.
content_types_provided(ReqData, Context) ->
- {[{<<"application/json">>, to_json}], ReqData, Context}.
+ {rabbit_mgmt_util:responder_map(to_json), ReqData, Context}.
to_json(ReqData, Context) ->
Modules = rabbit_mgmt_dispatcher:modules([]),
diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_global_parameter.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_global_parameter.erl
index cf53571e02..549914e35b 100644
--- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_global_parameter.erl
+++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_global_parameter.erl
@@ -38,7 +38,7 @@ variances(Req, Context) ->
{[<<"accept-encoding">>, <<"origin">>], Req, Context}.
content_types_provided(ReqData, Context) ->
- {[{<<"application/json">>, to_json}], ReqData, Context}.
+ {rabbit_mgmt_util:responder_map(to_json), ReqData, Context}.
content_types_accepted(ReqData, Context) ->
{[{'*', accept_content}], ReqData, Context}.
diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_global_parameters.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_global_parameters.erl
index 287ff917c9..4319c4a0c9 100644
--- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_global_parameters.erl
+++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_global_parameters.erl
@@ -33,7 +33,7 @@ variances(Req, Context) ->
{[<<"accept-encoding">>, <<"origin">>], Req, Context}.
content_types_provided(ReqData, Context) ->
- {[{<<"application/json">>, to_json}], ReqData, Context}.
+ {rabbit_mgmt_util:responder_map(to_json), ReqData, Context}.
to_json(ReqData, Context) ->
rabbit_mgmt_util:reply_list(basic(), ReqData, Context).
@@ -44,4 +44,4 @@ is_authorized(ReqData, Context) ->
%%--------------------------------------------------------------------
basic() ->
- rabbit_runtime_parameters:list_global(). \ No newline at end of file
+ rabbit_runtime_parameters:list_global().
diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_healthchecks.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_healthchecks.erl
index cb47b53b3f..81c88f7627 100644
--- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_healthchecks.erl
+++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_healthchecks.erl
@@ -32,7 +32,7 @@ variances(Req, Context) ->
{[<<"accept-encoding">>, <<"origin">>], Req, Context}.
content_types_provided(ReqData, Context) ->
- {[{<<"application/json">>, to_json}], ReqData, Context}.
+ {rabbit_mgmt_util:responder_map(to_json), ReqData, Context}.
resource_exists(ReqData, Context) ->
{case node0(ReqData) of
diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_node.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_node.erl
index 17d72d743e..16b5e0be4c 100644
--- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_node.erl
+++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_node.erl
@@ -34,7 +34,7 @@ variances(Req, Context) ->
{[<<"accept-encoding">>, <<"origin">>], Req, Context}.
content_types_provided(ReqData, Context) ->
- {[{<<"application/json">>, to_json}], ReqData, Context}.
+ {rabbit_mgmt_util:responder_map(to_json), ReqData, Context}.
resource_exists(ReqData, Context) ->
{case node0(ReqData) of
diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_node_memory.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_node_memory.erl
index 673b16234d..b134bfdf59 100644
--- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_node_memory.erl
+++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_node_memory.erl
@@ -33,7 +33,7 @@ variances(Req, Context) ->
{[<<"accept-encoding">>, <<"origin">>], Req, Context}.
content_types_provided(ReqData, Context) ->
- {[{<<"application/json">>, to_json}], ReqData, Context}.
+ {rabbit_mgmt_util:responder_map(to_json), ReqData, Context}.
resource_exists(ReqData, Context) ->
{node_exists(ReqData, get_node(ReqData)), ReqData, Context}.
diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_node_memory_ets.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_node_memory_ets.erl
index 1363de7c83..cf350c862d 100644
--- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_node_memory_ets.erl
+++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_node_memory_ets.erl
@@ -33,7 +33,7 @@ variances(Req, Context) ->
{[<<"accept-encoding">>, <<"origin">>], Req, Context}.
content_types_provided(ReqData, Context) ->
- {[{<<"application/json">>, to_json}], ReqData, Context}.
+ {rabbit_mgmt_util:responder_map(to_json), ReqData, Context}.
resource_exists(ReqData, Context) ->
{node_exists(ReqData, get_node(ReqData)), ReqData, Context}.
diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_nodes.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_nodes.erl
index 7e13c4a65d..c2e791c018 100644
--- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_nodes.erl
+++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_nodes.erl
@@ -34,7 +34,7 @@ variances(Req, Context) ->
{[<<"accept-encoding">>, <<"origin">>], Req, Context}.
content_types_provided(ReqData, Context) ->
- {[{<<"application/json">>, to_json}], ReqData, Context}.
+ {rabbit_mgmt_util:responder_map(to_json), ReqData, Context}.
to_json(ReqData, Context) ->
try
diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_overview.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_overview.erl
index 01ef77f856..be2e4e0ee1 100644
--- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_overview.erl
+++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_overview.erl
@@ -35,7 +35,7 @@ variances(Req, Context) ->
{[<<"accept-encoding">>, <<"origin">>], Req, Context}.
content_types_provided(ReqData, Context) ->
- {[{<<"application/json">>, to_json}], ReqData, Context}.
+ {rabbit_mgmt_util:responder_map(to_json), ReqData, Context}.
to_json(ReqData, Context = #context{user = User = #user{tags = Tags}}) ->
RatesMode = rabbit_mgmt_agent_config:get_env(rates_mode),
diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_parameter.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_parameter.erl
index f448645547..8ea82c18d1 100644
--- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_parameter.erl
+++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_parameter.erl
@@ -38,7 +38,7 @@ variances(Req, Context) ->
{[<<"accept-encoding">>, <<"origin">>], Req, Context}.
content_types_provided(ReqData, Context) ->
- {[{<<"application/json">>, to_json}], ReqData, Context}.
+ {rabbit_mgmt_util:responder_map(to_json), ReqData, Context}.
content_types_accepted(ReqData, Context) ->
{[{'*', accept_content}], ReqData, Context}.
diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_parameters.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_parameters.erl
index bf5fea5e13..2c83cfc2fa 100644
--- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_parameters.erl
+++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_parameters.erl
@@ -35,7 +35,7 @@ variances(Req, Context) ->
{[<<"accept-encoding">>, <<"origin">>], Req, Context}.
content_types_provided(ReqData, Context) ->
- {[{<<"application/json">>, to_json}], ReqData, Context}.
+ {rabbit_mgmt_util:responder_map(to_json), ReqData, Context}.
resource_exists(ReqData, Context) ->
{case basic(ReqData) of
diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_permission.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_permission.erl
index d374a16493..c6ce9557e8 100644
--- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_permission.erl
+++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_permission.erl
@@ -36,7 +36,7 @@ variances(Req, Context) ->
{[<<"accept-encoding">>, <<"origin">>], Req, Context}.
content_types_provided(ReqData, Context) ->
- {[{<<"application/json">>, to_json}], ReqData, Context}.
+ {rabbit_mgmt_util:responder_map(to_json), ReqData, Context}.
content_types_accepted(ReqData, Context) ->
{[{'*', accept_content}], ReqData, Context}.
diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_permissions.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_permissions.erl
index 49fa613575..4a8bf75d22 100644
--- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_permissions.erl
+++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_permissions.erl
@@ -34,7 +34,7 @@ variances(Req, Context) ->
{[<<"accept-encoding">>, <<"origin">>], Req, Context}.
content_types_provided(ReqData, Context) ->
- {[{<<"application/json">>, to_json}], ReqData, Context}.
+ {rabbit_mgmt_util:responder_map(to_json), ReqData, Context}.
to_json(ReqData, Context) ->
rabbit_mgmt_util:reply_list(permissions(), ["vhost", "user"],
diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_permissions_user.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_permissions_user.erl
index 8bce98f02d..a85ed7046e 100644
--- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_permissions_user.erl
+++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_permissions_user.erl
@@ -34,7 +34,7 @@ variances(Req, Context) ->
{[<<"accept-encoding">>, <<"origin">>], Req, Context}.
content_types_provided(ReqData, Context) ->
- {[{<<"application/json">>, to_json}], ReqData, Context}.
+ {rabbit_mgmt_util:responder_map(to_json), ReqData, Context}.
resource_exists(ReqData, Context) ->
{case rabbit_mgmt_wm_user:user(ReqData) of
diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_permissions_vhost.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_permissions_vhost.erl
index b113a2d26a..515150e01b 100644
--- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_permissions_vhost.erl
+++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_permissions_vhost.erl
@@ -34,7 +34,7 @@ variances(Req, Context) ->
{[<<"accept-encoding">>, <<"origin">>], Req, Context}.
content_types_provided(ReqData, Context) ->
- {[{<<"application/json">>, to_json}], ReqData, Context}.
+ {rabbit_mgmt_util:responder_map(to_json), ReqData, Context}.
resource_exists(ReqData, Context) ->
{rabbit_vhost:exists(rabbit_mgmt_wm_vhost:id(ReqData)), ReqData, Context}.
diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_policies.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_policies.erl
index 1dedcf5c9d..99fbe6634d 100644
--- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_policies.erl
+++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_policies.erl
@@ -34,7 +34,7 @@ variances(Req, Context) ->
{[<<"accept-encoding">>, <<"origin">>], Req, Context}.
content_types_provided(ReqData, Context) ->
- {[{<<"application/json">>, to_json}], ReqData, Context}.
+ {rabbit_mgmt_util:responder_map(to_json), ReqData, Context}.
resource_exists(ReqData, Context) ->
{case basic(ReqData) of
diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_policy.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_policy.erl
index 12ff1fdd65..30bb9eef58 100644
--- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_policy.erl
+++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_policy.erl
@@ -38,7 +38,7 @@ variances(Req, Context) ->
{[<<"accept-encoding">>, <<"origin">>], Req, Context}.
content_types_provided(ReqData, Context) ->
- {[{<<"application/json">>, to_json}], ReqData, Context}.
+ {rabbit_mgmt_util:responder_map(to_json), ReqData, Context}.
content_types_accepted(ReqData, Context) ->
{[{'*', accept_content}], ReqData, Context}.
diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_queue.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_queue.erl
index 7874a42491..17a745194a 100644
--- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_queue.erl
+++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_queue.erl
@@ -36,7 +36,7 @@ variances(Req, Context) ->
{[<<"accept-encoding">>, <<"origin">>], Req, Context}.
content_types_provided(ReqData, Context) ->
- {[{<<"application/json">>, to_json}], ReqData, Context}.
+ {rabbit_mgmt_util:responder_map(to_json), ReqData, Context}.
content_types_accepted(ReqData, Context) ->
{[{'*', accept_content}], ReqData, Context}.
diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_queue_get.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_queue_get.erl
index 4cf91f4da3..750e9469f1 100644
--- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_queue_get.erl
+++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_queue_get.erl
@@ -38,7 +38,7 @@ allowed_methods(ReqData, Context) ->
{[<<"POST">>, <<"OPTIONS">>], ReqData, Context}.
content_types_provided(ReqData, Context) ->
- {[{<<"application/json">>, to_json}], ReqData, Context}.
+ {rabbit_mgmt_util:responder_map(to_json), ReqData, Context}.
resource_exists(ReqData, Context) ->
{case rabbit_mgmt_wm_queue:queue(ReqData) of
diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_queues.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_queues.erl
index 9348266bc0..91e925eb0a 100644
--- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_queues.erl
+++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_queues.erl
@@ -34,7 +34,7 @@ variances(Req, Context) ->
{[<<"accept-encoding">>, <<"origin">>], Req, Context}.
content_types_provided(ReqData, Context) ->
- {[{<<"application/json">>, to_json}], ReqData, Context}.
+ {rabbit_mgmt_util:responder_map(to_json), ReqData, Context}.
resource_exists(ReqData, Context) ->
{case queues0(ReqData) of
diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_user.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_user.erl
index a9cc7736f7..2e8e5a547c 100644
--- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_user.erl
+++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_user.erl
@@ -38,7 +38,7 @@ variances(Req, Context) ->
{[<<"accept-encoding">>, <<"origin">>], Req, Context}.
content_types_provided(ReqData, Context) ->
- {[{<<"application/json">>, to_json}], ReqData, Context}.
+ {rabbit_mgmt_util:responder_map(to_json), ReqData, Context}.
content_types_accepted(ReqData, Context) ->
{[{'*', accept_content}], ReqData, Context}.
diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_users.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_users.erl
index 7bff83ee9b..2ca44bbc06 100644
--- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_users.erl
+++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_users.erl
@@ -36,7 +36,7 @@ variances(Req, Context) ->
{[<<"accept-encoding">>, <<"origin">>], Req, Context}.
content_types_provided(ReqData, Context) ->
- {[{<<"application/json">>, to_json}], ReqData, Context}.
+ {rabbit_mgmt_util:responder_map(to_json), ReqData, Context}.
to_json(ReqData, Context) ->
rabbit_mgmt_util:reply_list(users(), ReqData, Context).
diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_vhost.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_vhost.erl
index 28ecba1081..08efa13b8c 100644
--- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_vhost.erl
+++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_vhost.erl
@@ -38,7 +38,7 @@ variances(Req, Context) ->
{[<<"accept-encoding">>, <<"origin">>], Req, Context}.
content_types_provided(ReqData, Context) ->
- {[{<<"application/json">>, to_json}], ReqData, Context}.
+ {rabbit_mgmt_util:responder_map(to_json), ReqData, Context}.
content_types_accepted(ReqData, Context) ->
{[{'*', accept_content}], ReqData, Context}.
diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_vhosts.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_vhosts.erl
index 37fd120596..eee83de7ee 100644
--- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_vhosts.erl
+++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_vhosts.erl
@@ -34,7 +34,7 @@ variances(Req, Context) ->
{[<<"accept-encoding">>, <<"origin">>], Req, Context}.
content_types_provided(ReqData, Context) ->
- {[{<<"application/json">>, to_json}], ReqData, Context}.
+ {rabbit_mgmt_util:responder_map(to_json), ReqData, Context}.
to_json(ReqData, Context) ->
try
diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_wm_whoami.erl b/deps/rabbitmq_management/src/rabbit_mgmt_wm_whoami.erl
index 876cbbb676..d074c741a4 100644
--- a/deps/rabbitmq_management/src/rabbit_mgmt_wm_whoami.erl
+++ b/deps/rabbitmq_management/src/rabbit_mgmt_wm_whoami.erl
@@ -33,7 +33,7 @@ variances(Req, Context) ->
{[<<"accept-encoding">>, <<"origin">>], Req, Context}.
content_types_provided(ReqData, Context) ->
- {[{<<"application/json">>, to_json}], ReqData, Context}.
+ {rabbit_mgmt_util:responder_map(to_json), ReqData, Context}.
to_json(ReqData, Context = #context{user = User}) ->
rabbit_mgmt_util:reply(rabbit_mgmt_format:user(User), ReqData, Context).
diff --git a/deps/rabbitmq_management/test/rabbit_mgmt_http_SUITE.erl b/deps/rabbitmq_management/test/rabbit_mgmt_http_SUITE.erl
index d45e8cb296..243bd3f325 100644
--- a/deps/rabbitmq_management/test/rabbit_mgmt_http_SUITE.erl
+++ b/deps/rabbitmq_management/test/rabbit_mgmt_http_SUITE.erl
@@ -2191,7 +2191,7 @@ cors_test(Config) ->
io:format("CORS test HdNoCORS: ~p~n", [HdNoCORS]),
false = lists:keymember("access-control-allow-origin", 1, HdNoCORS),
%% The Vary header should include "Origin" regardless of CORS configuration.
- {_, "accept-encoding, origin"} = lists:keyfind("vary", 1, HdNoCORS),
+ {_, "accept, accept-encoding, origin"} = lists:keyfind("vary", 1, HdNoCORS),
%% Enable CORS.
rabbit_ct_broker_helpers:rpc(Config, 0, application, set_env, [rabbitmq_management, cors_allow_origins, ["http://rabbitmq.com"]]),
%% We should only receive allow-origin and allow-credentials from GET.