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
|
PROJECT = rabbitmq_tracing
|
||||||
|
|
||||||
DEPS = rabbitmq_management webmachine
|
DEPS = rabbitmq_management
|
||||||
TEST_DEPS += rabbit
|
TEST_DEPS += rabbit
|
||||||
|
|
||||||
DEP_PLUGINS = rabbit_common/mk/rabbitmq-plugin.mk
|
DEP_PLUGINS = rabbit_common/mk/rabbitmq-plugin.mk
|
||||||
|
|
|
||||||
|
|
@ -20,10 +20,10 @@
|
||||||
|
|
||||||
-export([dispatcher/0, web_ui/0]).
|
-export([dispatcher/0, web_ui/0]).
|
||||||
|
|
||||||
dispatcher() -> [{["traces"], rabbit_tracing_wm_traces, []},
|
dispatcher() -> [{"/traces", rabbit_tracing_wm_traces, []},
|
||||||
{["traces", vhost], rabbit_tracing_wm_traces, []},
|
{"/traces/:vhost", rabbit_tracing_wm_traces, []},
|
||||||
{["traces", vhost, name], rabbit_tracing_wm_trace, []},
|
{"/traces/:vhost/:name", rabbit_tracing_wm_trace, []},
|
||||||
{["trace-files"], rabbit_tracing_wm_files, []},
|
{"/trace-files", rabbit_tracing_wm_files, []},
|
||||||
{["trace-files", name], rabbit_tracing_wm_file, []}].
|
{"/trace-files/:name", rabbit_tracing_wm_file, []}].
|
||||||
|
|
||||||
web_ui() -> [{javascript, <<"tracing.js">>}].
|
web_ui() -> [{javascript, <<"tracing.js">>}].
|
||||||
|
|
|
||||||
|
|
@ -15,20 +15,22 @@
|
||||||
|
|
||||||
-module(rabbit_tracing_wm_file).
|
-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]).
|
is_authorized/2, allowed_methods/2, delete_resource/2]).
|
||||||
|
|
||||||
-include_lib("rabbitmq_management/include/rabbit_mgmt.hrl").
|
-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) ->
|
content_types_provided(ReqData, Context) ->
|
||||||
{[{"text/plain", serve}], ReqData, Context}.
|
{[{<<"text/plain">>, serve}], ReqData, Context}.
|
||||||
|
|
||||||
allowed_methods(ReqData, Context) ->
|
allowed_methods(ReqData, Context) ->
|
||||||
{['HEAD', 'GET', 'DELETE'], ReqData, Context}.
|
{[<<"HEAD">>, <<"GET">>, <<"DELETE">>], ReqData, Context}.
|
||||||
|
|
||||||
resource_exists(ReqData, Context) ->
|
resource_exists(ReqData, Context) ->
|
||||||
Name = rabbit_mgmt_util:id(name, ReqData),
|
Name = rabbit_mgmt_util:id(name, ReqData),
|
||||||
|
|
|
||||||
|
|
@ -16,17 +16,18 @@
|
||||||
|
|
||||||
-module(rabbit_tracing_wm_files).
|
-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("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) ->
|
content_types_provided(ReqData, Context) ->
|
||||||
{[{"application/json", to_json}], ReqData, Context}.
|
{[{<<"application/json">>, to_json}], ReqData, Context}.
|
||||||
|
|
||||||
to_json(ReqData, Context) ->
|
to_json(ReqData, Context) ->
|
||||||
rabbit_mgmt_util:reply(rabbit_tracing_files:list(), ReqData, Context).
|
rabbit_mgmt_util:reply(rabbit_tracing_files:list(), ReqData, Context).
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,8 @@
|
||||||
|
|
||||||
-module(rabbit_tracing_wm_trace).
|
-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,
|
content_types_provided/2, content_types_accepted/2,
|
||||||
is_authorized/2, allowed_methods/2, accept_content/2,
|
is_authorized/2, allowed_methods/2, accept_content/2,
|
||||||
delete_resource/2]).
|
delete_resource/2]).
|
||||||
|
|
@ -26,19 +27,20 @@
|
||||||
-import(rabbit_misc, [pget/2, pget/3]).
|
-import(rabbit_misc, [pget/2, pget/3]).
|
||||||
|
|
||||||
-include_lib("rabbitmq_management/include/rabbit_mgmt.hrl").
|
-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) ->
|
content_types_provided(ReqData, Context) ->
|
||||||
{[{"application/json", to_json}], ReqData, Context}.
|
{[{<<"application/json">>, to_json}], ReqData, Context}.
|
||||||
|
|
||||||
content_types_accepted(ReqData, Context) ->
|
content_types_accepted(ReqData, Context) ->
|
||||||
{[{"application/json", accept_content}], ReqData, Context}.
|
{[{<<"application/json">>, accept_content}], ReqData, Context}.
|
||||||
|
|
||||||
allowed_methods(ReqData, Context) ->
|
allowed_methods(ReqData, Context) ->
|
||||||
{['HEAD', 'GET', 'PUT', 'DELETE'], ReqData, Context}.
|
{[<<"HEAD">>, <<"GET">>, <<"PUT">>, <<"DELETE">>], ReqData, Context}.
|
||||||
|
|
||||||
resource_exists(ReqData, Context) ->
|
resource_exists(ReqData, Context) ->
|
||||||
{case trace(ReqData) of
|
{case trace(ReqData) of
|
||||||
|
|
|
||||||
|
|
@ -16,17 +16,18 @@
|
||||||
|
|
||||||
-module(rabbit_tracing_wm_traces).
|
-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("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) ->
|
content_types_provided(ReqData, Context) ->
|
||||||
{[{"application/json", to_json}], ReqData, Context}.
|
{[{<<"application/json">>, to_json}], ReqData, Context}.
|
||||||
|
|
||||||
to_json(ReqData, Context) ->
|
to_json(ReqData, Context) ->
|
||||||
rabbit_mgmt_util:reply(rabbit_tracing_traces:list(), ReqData, Context).
|
rabbit_mgmt_util:reply(rabbit_tracing_traces:list(), ReqData, Context).
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue