fixeria submitted this change.

View Change

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

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.

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 <vyanitskiy@sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy@sysmocom.de>
Gerrit-Reviewer: laforge <laforge@osmocom.org>
Gerrit-Reviewer: pespin <pespin@sysmocom.de>