fixeria has submitted this change. ( 
https://gerrit.osmocom.org/c/erlang/osmo-s1gw/+/42451?usp=email )

Change subject: rest_server: log received requests (as debug)
......................................................................

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(-)

Approvals:
  Jenkins Builder: Verified
  pespin: Looks good to me, but someone else must approve
  fixeria: Looks good to me, approved
  laforge: Looks good to me, but someone else must approve




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 https://gerrit.osmocom.org/c/erlang/osmo-s1gw/+/42451?usp=email
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings?usp=email

Gerrit-MessageType: merged
Gerrit-Project: erlang/osmo-s1gw
Gerrit-Branch: master
Gerrit-Change-Id: I25da9662fb98a0eafcedfde21b12a937225f5fb9
Gerrit-Change-Number: 42451
Gerrit-PatchSet: 2
Gerrit-Owner: fixeria <[email protected]>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <[email protected]>
Gerrit-Reviewer: laforge <[email protected]>
Gerrit-Reviewer: pespin <[email protected]>

Reply via email to