fixeria has uploaded this change for review.
rest_server: log received requests (as debug)
Change-Id: I25da9662fb98a0eafcedfde21b12a937225f5fb9
Related: SYS#7066
---
M src/osmo_s1gw_sup.erl
M src/rest_server.erl
2 files changed, 27 insertions(+), 1 deletion(-)
git pull ssh://gerrit.osmocom.org:29418/erlang/osmo-s1gw refs/changes/51/42451/1
diff --git a/src/osmo_s1gw_sup.erl b/src/osmo_s1gw_sup.erl
index 06174b2..fd89b3c 100644
--- a/src/osmo_s1gw_sup.erl
+++ b/src/osmo_s1gw_sup.erl
@@ -163,7 +163,8 @@
#{callback => rest_server,
spec_path => list_to_binary(osmo_s1gw:get_priv("openapi.json")),
port => osmo_s1gw:get_env(rest_srv_port, ?ENV_DEFAULT_REST_SRV_PORT),
- swagger_ui => osmo_s1gw:get_env(rest_srv_swagger_ui, ?ENV_DEFAULT_REST_SRV_SWAGGER_UI)}.
+ swagger_ui => osmo_s1gw:get_env(rest_srv_swagger_ui, ?ENV_DEFAULT_REST_SRV_SWAGGER_UI),
+ preprocess_middlewares => [rest_server]}.
%% vim:set ts=4 sw=4 et:
diff --git a/src/rest_server.erl b/src/rest_server.erl
index 19554ac..f9176cb 100644
--- a/src/rest_server.erl
+++ b/src/rest_server.erl
@@ -34,6 +34,8 @@
-module(rest_server).
+-behaviour(erf_preprocess_middleware).
+
-export([config_read/1,
metrics_list/1,
pfcp_assoc_state/1,
@@ -53,6 +55,8 @@
erab_delete/1
]).
+-export([preprocess/1]).
+
-include_lib("kernel/include/logger.hrl").
-include("osmo_s1gw.hrl").
@@ -629,4 +633,25 @@
bval(V) -> V.
+%% ------------------------------------------------------------------
+%% erf_preprocess_middleware API
+%% ------------------------------------------------------------------
+
+-spec preprocess(erf:request()) -> erf:request().
+preprocess(#{peer := Peer,
+ method := Method,
+ path := Path,
+ query_parameters := QP} = Request) ->
+ %% We're not really pre-processing anything here, just logging requests
+ MethodStr = string:uppercase(atom_to_list(Method)),
+ PathStr = lists:join("/", [binary_to_list(P) || P <- Path]),
+ QPStr = case QP of
+ [] -> "";
+ _ -> [$? | lists:join($&, [<<K/bytes, $=, V/bytes>> || {K, V} <- QP])]
+ end,
+ ?LOG_DEBUG("[REST] ~s - \"~s /~s~s\"",
+ [Peer, MethodStr, PathStr, QPStr]),
+ Request.
+
+
%% vim:set ts=4 sw=4 et:
To view, visit change 42451. To unsubscribe, or for help writing mail filters, visit settings.