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