Convert to Cowboy REST
(cherry picked from commit da70f42d91f87497d89ee24983229b0cdbd86c3f)
This commit is contained in:
parent
1f774106d7
commit
ccf554bdee
|
|
@ -1,6 +1,6 @@
|
|||
PROJECT = rabbitmq_tracing
|
||||
|
||||
DEPS = rabbitmq_management webmachine
|
||||
DEPS = rabbitmq_management
|
||||
TEST_DEPS += rabbit
|
||||
|
||||
DEP_PLUGINS = rabbit_common/mk/rabbitmq-plugin.mk
|
||||
|
|
|
|||
|
|
@ -20,10 +20,10 @@
|
|||
|
||||
-export([dispatcher/0, web_ui/0]).
|
||||
|
||||
dispatcher() -> [{["traces"], rabbit_tracing_wm_traces, []},
|
||||
{["traces", vhost], rabbit_tracing_wm_traces, []},
|
||||
{["traces", vhost, name], rabbit_tracing_wm_trace, []},
|
||||
{["trace-files"], rabbit_tracing_wm_files, []},
|
||||
{["trace-files", name], rabbit_tracing_wm_file, []}].
|
||||
dispatcher() -> [{"/traces", rabbit_tracing_wm_traces, []},
|
||||
{"/traces/:vhost", rabbit_tracing_wm_traces, []},
|
||||
{"/traces/:vhost/:name", rabbit_tracing_wm_trace, []},
|
||||
{"/trace-files", rabbit_tracing_wm_files, []},
|
||||
{"/trace-files/:name", rabbit_tracing_wm_file, []}].
|
||||
|
||||
web_ui() -> [{javascript, <<"tracing.js">>}].
|
||||
|
|
|
|||
|
|
@ -15,20 +15,22 @@
|
|||
|
||||
-module(rabbit_tracing_wm_file).
|
||||
|
||||
-export([init/1, resource_exists/2, serve/2, content_types_provided/2,
|
||||
-export([init/3]).
|
||||
-export([rest_init/2, resource_exists/2, serve/2, content_types_provided/2,
|
||||
is_authorized/2, allowed_methods/2, delete_resource/2]).
|
||||
|
||||
-include_lib("rabbitmq_management/include/rabbit_mgmt.hrl").
|
||||
-include_lib("webmachine/include/webmachine.hrl").
|
||||
|
||||
%%--------------------------------------------------------------------
|
||||
init(_Config) -> {ok, #context{}}.
|
||||
init(_, _, _) -> {upgrade, protocol, cowboy_rest}.
|
||||
|
||||
rest_init(ReqData, _) -> {ok, ReqData, #context{}}.
|
||||
|
||||
content_types_provided(ReqData, Context) ->
|
||||
{[{"text/plain", serve}], ReqData, Context}.
|
||||
{[{<<"text/plain">>, serve}], ReqData, Context}.
|
||||
|
||||
allowed_methods(ReqData, Context) ->
|
||||
{['HEAD', 'GET', 'DELETE'], ReqData, Context}.
|
||||
{[<<"HEAD">>, <<"GET">>, <<"DELETE">>], ReqData, Context}.
|
||||
|
||||
resource_exists(ReqData, Context) ->
|
||||
Name = rabbit_mgmt_util:id(name, ReqData),
|
||||
|
|
|
|||
|
|
@ -16,17 +16,18 @@
|
|||
|
||||
-module(rabbit_tracing_wm_files).
|
||||
|
||||
-export([init/1, to_json/2, content_types_provided/2, is_authorized/2]).
|
||||
-export([init/3]).
|
||||
-export([rest_init/2, to_json/2, content_types_provided/2, is_authorized/2]).
|
||||
|
||||
-include_lib("rabbitmq_management/include/rabbit_mgmt.hrl").
|
||||
-include_lib("webmachine/include/webmachine.hrl").
|
||||
|
||||
%%--------------------------------------------------------------------
|
||||
init(_, _, _) -> {upgrade, protocol, cowboy_rest}.
|
||||
|
||||
init(_Config) -> {ok, #context{}}.
|
||||
rest_init(ReqData, _) -> {ok, ReqData, #context{}}.
|
||||
|
||||
content_types_provided(ReqData, Context) ->
|
||||
{[{"application/json", to_json}], ReqData, Context}.
|
||||
{[{<<"application/json">>, to_json}], ReqData, Context}.
|
||||
|
||||
to_json(ReqData, Context) ->
|
||||
rabbit_mgmt_util:reply(rabbit_tracing_files:list(), ReqData, Context).
|
||||
|
|
|
|||
|
|
@ -15,7 +15,8 @@
|
|||
|
||||
-module(rabbit_tracing_wm_trace).
|
||||
|
||||
-export([init/1, resource_exists/2, to_json/2,
|
||||
-export([init/3]).
|
||||
-export([rest_init/2, resource_exists/2, to_json/2,
|
||||
content_types_provided/2, content_types_accepted/2,
|
||||
is_authorized/2, allowed_methods/2, accept_content/2,
|
||||
delete_resource/2]).
|
||||
|
|
@ -26,19 +27,20 @@
|
|||
-import(rabbit_misc, [pget/2, pget/3]).
|
||||
|
||||
-include_lib("rabbitmq_management/include/rabbit_mgmt.hrl").
|
||||
-include_lib("webmachine/include/webmachine.hrl").
|
||||
|
||||
%%--------------------------------------------------------------------
|
||||
init(_Config) -> {ok, #context{}}.
|
||||
init(_, _, _) -> {upgrade, protocol, cowboy_rest}.
|
||||
|
||||
rest_init(ReqData, _) -> {ok, ReqData, #context{}}.
|
||||
|
||||
content_types_provided(ReqData, Context) ->
|
||||
{[{"application/json", to_json}], ReqData, Context}.
|
||||
{[{<<"application/json">>, to_json}], ReqData, Context}.
|
||||
|
||||
content_types_accepted(ReqData, Context) ->
|
||||
{[{"application/json", accept_content}], ReqData, Context}.
|
||||
{[{<<"application/json">>, accept_content}], ReqData, Context}.
|
||||
|
||||
allowed_methods(ReqData, Context) ->
|
||||
{['HEAD', 'GET', 'PUT', 'DELETE'], ReqData, Context}.
|
||||
{[<<"HEAD">>, <<"GET">>, <<"PUT">>, <<"DELETE">>], ReqData, Context}.
|
||||
|
||||
resource_exists(ReqData, Context) ->
|
||||
{case trace(ReqData) of
|
||||
|
|
|
|||
|
|
@ -16,17 +16,18 @@
|
|||
|
||||
-module(rabbit_tracing_wm_traces).
|
||||
|
||||
-export([init/1, to_json/2, content_types_provided/2, is_authorized/2]).
|
||||
-export([init/3]).
|
||||
-export([rest_init/2, to_json/2, content_types_provided/2, is_authorized/2]).
|
||||
|
||||
-include_lib("rabbitmq_management/include/rabbit_mgmt.hrl").
|
||||
-include_lib("webmachine/include/webmachine.hrl").
|
||||
|
||||
%%--------------------------------------------------------------------
|
||||
init(_, _, _) -> {upgrade, protocol, cowboy_rest}.
|
||||
|
||||
init(_Config) -> {ok, #context{}}.
|
||||
rest_init(ReqData, _) -> {ok, ReqData, #context{}}.
|
||||
|
||||
content_types_provided(ReqData, Context) ->
|
||||
{[{"application/json", to_json}], ReqData, Context}.
|
||||
{[{<<"application/json">>, to_json}], ReqData, Context}.
|
||||
|
||||
to_json(ReqData, Context) ->
|
||||
rabbit_mgmt_util:reply(rabbit_tracing_traces:list(), ReqData, Context).
|
||||
|
|
|
|||
Loading…
Reference in New Issue