From f673e191b30ab440440c924476bb03000fff52c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Hoguin?= Date: Wed, 2 Oct 2019 15:23:23 +0200 Subject: Add {set_options, #{metrics_user_data := Map}} This allows giving custom metadata to the metrics stream handler. This can be useful to for example provide the name of the module handling the request which is only known after routing. But any user data is allowed. When called multiple times the user data maps are merged. --- test/handlers/set_options_h.erl | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'test/handlers/set_options_h.erl') diff --git a/test/handlers/set_options_h.erl b/test/handlers/set_options_h.erl index 1cefe92..ef88a6f 100644 --- a/test/handlers/set_options_h.erl +++ b/test/handlers/set_options_h.erl @@ -32,4 +32,9 @@ set_options(<<"idle_timeout_long">>, Req0, State) -> #{pid := Pid, streamid := StreamID} = Req0, Pid ! {{Pid, StreamID}, {set_options, #{idle_timeout => 60000}}}, {_, Body, Req} = cowboy_req:read_body(Req0), - {ok, cowboy_req:reply(200, #{}, Body, Req), State}. + {ok, cowboy_req:reply(200, #{}, Body, Req), State}; +set_options(<<"metrics_user_data">>, Req, State) -> + %% @todo This should be replaced by a cowboy_req:cast/cowboy_stream:cast. + #{pid := Pid, streamid := StreamID} = Req, + Pid ! {{Pid, StreamID}, {set_options, #{metrics_user_data => #{handler => ?MODULE}}}}, + {ok, cowboy_req:reply(200, #{}, <<"Hello world!">>, Req), State}. -- cgit v1.2.3