mirror of
https://github.com/valitydev/fistful-server.git
synced 2024-11-06 02:35:18 +00:00
SEC-331: cut secrets from logs (#61)
* SEC-331: cut secrets from logs * SEC-331: fix format --------- Co-authored-by: anatoliy.losev <losto@nix>
This commit is contained in:
parent
191f80e41c
commit
e6be6ad6e3
1
.gitignore
vendored
1
.gitignore
vendored
@ -15,3 +15,4 @@ rebar3.crashdump
|
|||||||
# make stuff
|
# make stuff
|
||||||
/.image.*
|
/.image.*
|
||||||
Makefile.env
|
Makefile.env
|
||||||
|
*.iml
|
||||||
|
@ -186,7 +186,7 @@ call_service(Fun, Args) ->
|
|||||||
Request = {Service, Fun, Args},
|
Request = {Service, Fun, Args},
|
||||||
Client = ff_woody_client:new(#{
|
Client = ff_woody_client:new(#{
|
||||||
url => <<"http://localhost:8022/v1/claim_committer">>,
|
url => <<"http://localhost:8022/v1/claim_committer">>,
|
||||||
event_handler => scoper_woody_event_handler
|
event_handler => ff_woody_event_handler
|
||||||
}),
|
}),
|
||||||
ff_woody_client:call(Client, Request).
|
ff_woody_client:call(Client, Request).
|
||||||
|
|
||||||
|
@ -89,6 +89,6 @@ call_handler(Function, ServiceName, Args) ->
|
|||||||
Request = {Service, Function, Args},
|
Request = {Service, Function, Args},
|
||||||
Client = ff_woody_client:new(#{
|
Client = ff_woody_client:new(#{
|
||||||
url => <<"http://localhost:8022", Path/binary>>,
|
url => <<"http://localhost:8022", Path/binary>>,
|
||||||
event_handler => scoper_woody_event_handler
|
event_handler => ff_woody_event_handler
|
||||||
}),
|
}),
|
||||||
ff_woody_client:call(Client, Request).
|
ff_woody_client:call(Client, Request).
|
||||||
|
@ -91,7 +91,7 @@ start_app(dmt_client = AppName) ->
|
|||||||
memory => 52428800
|
memory => 52428800
|
||||||
}},
|
}},
|
||||||
{woody_event_handlers, [
|
{woody_event_handlers, [
|
||||||
{scoper_woody_event_handler, #{}}
|
{ff_woody_event_handler, #{}}
|
||||||
]},
|
]},
|
||||||
{service_urls, #{
|
{service_urls, #{
|
||||||
'Repository' => <<"http://dominant:8022/v1/domain/repository">>,
|
'Repository' => <<"http://dominant:8022/v1/domain/repository">>,
|
||||||
@ -110,7 +110,7 @@ start_app(party_client = AppName) ->
|
|||||||
cache_mode => safe,
|
cache_mode => safe,
|
||||||
options => #{
|
options => #{
|
||||||
woody_client => #{
|
woody_client => #{
|
||||||
event_handler => {scoper_woody_event_handler, #{}}
|
event_handler => {ff_woody_event_handler, #{}}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}}
|
}}
|
||||||
|
@ -123,7 +123,7 @@ start_processing_apps(Options) ->
|
|||||||
{{binbase_binbase_thrift, 'Binbase'}, {ff_ct_binbase_handler, []}}
|
{{binbase_binbase_thrift, 'Binbase'}, {ff_ct_binbase_handler, []}}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
event_handler => scoper_woody_event_handler
|
event_handler => ff_woody_event_handler
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
|
@ -64,7 +64,7 @@ init([]) ->
|
|||||||
{ok, Ip} = inet:parse_address(IpEnv),
|
{ok, Ip} = inet:parse_address(IpEnv),
|
||||||
WoodyOpts = maps:with([net_opts, handler_limits], WoodyOptsEnv),
|
WoodyOpts = maps:with([net_opts, handler_limits], WoodyOptsEnv),
|
||||||
EventHandlerOpts = genlib_app:env(?MODULE, scoper_event_handler_options, #{}),
|
EventHandlerOpts = genlib_app:env(?MODULE, scoper_event_handler_options, #{}),
|
||||||
RouteOpts = RouteOptsEnv#{event_handler => {scoper_woody_event_handler, EventHandlerOpts}},
|
RouteOpts = RouteOptsEnv#{event_handler => {ff_woody_event_handler, EventHandlerOpts}},
|
||||||
|
|
||||||
% TODO
|
% TODO
|
||||||
% - Make it palatable
|
% - Make it palatable
|
||||||
@ -109,7 +109,7 @@ init([]) ->
|
|||||||
ip => Ip,
|
ip => Ip,
|
||||||
port => Port,
|
port => Port,
|
||||||
handlers => WoodyHandlers,
|
handlers => WoodyHandlers,
|
||||||
event_handler => scoper_woody_event_handler,
|
event_handler => ff_woody_event_handler,
|
||||||
additional_routes =>
|
additional_routes =>
|
||||||
get_prometheus_routes() ++
|
get_prometheus_routes() ++
|
||||||
machinery_mg_backend:get_routes(MachineHandlers, RouteOpts) ++
|
machinery_mg_backend:get_routes(MachineHandlers, RouteOpts) ++
|
||||||
|
@ -256,7 +256,7 @@ maybe_migrate_route(Route) when is_map_key(adapter, Route) ->
|
|||||||
#{
|
#{
|
||||||
adapter := #{
|
adapter := #{
|
||||||
url := Url,
|
url := Url,
|
||||||
event_handler := scoper_woody_event_handler
|
event_handler := ff_woody_event_handler
|
||||||
},
|
},
|
||||||
adapter_opts := #{}
|
adapter_opts := #{}
|
||||||
} = Route,
|
} = Route,
|
||||||
@ -396,7 +396,7 @@ created_v0_0_without_provider_migration_test() ->
|
|||||||
{arr, [
|
{arr, [
|
||||||
{str, <<"map">>},
|
{str, <<"map">>},
|
||||||
{obj, #{
|
{obj, #{
|
||||||
{str, <<"event_handler">>} => {str, <<"scoper_woody_event_handler">>},
|
{str, <<"event_handler">>} => {str, <<"ff_woody_event_handler">>},
|
||||||
{str, <<"url">>} =>
|
{str, <<"url">>} =>
|
||||||
{bin,
|
{bin,
|
||||||
<<"http://proxy-mocketbank:8022/proxy/mocketbank/p2p-credit">>}
|
<<"http://proxy-mocketbank:8022/proxy/mocketbank/p2p-credit">>}
|
||||||
|
@ -171,7 +171,7 @@ maybe_migrate({created, #{version := 2} = Session}, Context) when not is_map_key
|
|||||||
} = Session,
|
} = Session,
|
||||||
#{
|
#{
|
||||||
url := Url,
|
url := Url,
|
||||||
event_handler := scoper_woody_event_handler
|
event_handler := ff_woody_event_handler
|
||||||
} = Client,
|
} = Client,
|
||||||
LegacyUrls = #{
|
LegacyUrls = #{
|
||||||
<<"http://adapter-royalpay:8022/adapter/royalpay/p2p-credit">> => <<"royalpay">>,
|
<<"http://adapter-royalpay:8022/adapter/royalpay/p2p-credit">> => <<"royalpay">>,
|
||||||
@ -788,7 +788,7 @@ created_v0_unknown_with_binary_provider_decoding_test() ->
|
|||||||
{arr, [
|
{arr, [
|
||||||
{str, <<"map">>},
|
{str, <<"map">>},
|
||||||
{obj, #{
|
{obj, #{
|
||||||
{str, <<"event_handler">>} => {str, <<"scoper_woody_event_handler">>},
|
{str, <<"event_handler">>} => {str, <<"ff_woody_event_handler">>},
|
||||||
{str, <<"url">>} =>
|
{str, <<"url">>} =>
|
||||||
{bin, <<"http://adapter-royalpay:8022/adapter/royalpay/p2p-credit">>}
|
{bin, <<"http://adapter-royalpay:8022/adapter/royalpay/p2p-credit">>}
|
||||||
}}
|
}}
|
||||||
@ -951,7 +951,7 @@ created_v0_unknown_without_provider_decoding_test() ->
|
|||||||
{arr, [
|
{arr, [
|
||||||
{str, <<"map">>},
|
{str, <<"map">>},
|
||||||
{obj, #{
|
{obj, #{
|
||||||
{str, <<"event_handler">>} => {str, <<"scoper_woody_event_handler">>},
|
{str, <<"event_handler">>} => {str, <<"ff_woody_event_handler">>},
|
||||||
{str, <<"url">>} =>
|
{str, <<"url">>} =>
|
||||||
{bin, <<"http://proxy-mocketbank:8022/proxy/mocketbank/p2p-credit">>}
|
{bin, <<"http://proxy-mocketbank:8022/proxy/mocketbank/p2p-credit">>}
|
||||||
}}
|
}}
|
||||||
|
80
apps/ff_server/src/ff_woody_event_handler.erl
Normal file
80
apps/ff_server/src/ff_woody_event_handler.erl
Normal file
@ -0,0 +1,80 @@
|
|||||||
|
-module(ff_woody_event_handler).
|
||||||
|
|
||||||
|
-behaviour(woody_event_handler).
|
||||||
|
|
||||||
|
%% woody_event_handler behaviour callbacks
|
||||||
|
-export([handle_event/4]).
|
||||||
|
|
||||||
|
-spec handle_event(Event, RpcId, Meta, Opts) -> ok when
|
||||||
|
Event :: woody_event_handler:event(),
|
||||||
|
RpcId :: woody:rpc_id() | undefined,
|
||||||
|
Meta :: woody_event_handler:event_meta(),
|
||||||
|
Opts :: woody:options().
|
||||||
|
handle_event(Event, RpcID, RawMeta, Opts) ->
|
||||||
|
FilteredMeta = filter_meta(RawMeta),
|
||||||
|
scoper_woody_event_handler:handle_event(Event, RpcID, FilteredMeta, Opts).
|
||||||
|
|
||||||
|
filter_meta(RawMeta) ->
|
||||||
|
maps:map(fun do_filter_meta/2, RawMeta).
|
||||||
|
|
||||||
|
do_filter_meta(args, Args) ->
|
||||||
|
filter(Args);
|
||||||
|
do_filter_meta(_Key, Value) ->
|
||||||
|
Value.
|
||||||
|
|
||||||
|
%% common
|
||||||
|
filter(L) when is_list(L) ->
|
||||||
|
[filter(E) || E <- L];
|
||||||
|
filter(T) when is_tuple(T) ->
|
||||||
|
list_to_tuple(filter(tuple_to_list(T)));
|
||||||
|
filter(M) when is_map(M) ->
|
||||||
|
genlib_map:truemap(fun(K, V) -> {filter(K), filter(V)} end, maps:without([<<"api-key">>, <<"secret-key">>], M));
|
||||||
|
%% default
|
||||||
|
filter(V) ->
|
||||||
|
V.
|
||||||
|
|
||||||
|
-ifdef(TEST).
|
||||||
|
|
||||||
|
-include_lib("eunit/include/eunit.hrl").
|
||||||
|
|
||||||
|
-define(ARG1, {
|
||||||
|
wthd_provider_Withdrawal,
|
||||||
|
<<"1686225855930826">>,
|
||||||
|
<<"1686225855930826/1">>,
|
||||||
|
{wthd_provider_Cash, 4240, {domain_Currency, <<"Russian Ruble">>, <<"RUB">>, 643, 2}},
|
||||||
|
{bank_card,
|
||||||
|
{domain_BankCard, <<"4150399999000900">>, {domain_PaymentSystemRef, <<"VISA">>}, <<"415039">>,
|
||||||
|
<<"****************">>, undefined, undefined, rus, undefined, undefined, undefined,
|
||||||
|
{domain_BankCardExpDate, 12, 2025}, <<"ct_cardholder_name">>, undefined}},
|
||||||
|
undefined,
|
||||||
|
{wthd_domain_Identity, <<"gj9Cn2gOglBQ0aso4jcsiEc38tS">>, undefined, [], [{phone_number, <<"9876543210">>}]},
|
||||||
|
{wthd_domain_Identity, <<"gj9Cn2gOglBQ0aso4jcsiEc38tS">>, undefined, [], [{phone_number, <<"9876543210">>}]},
|
||||||
|
undefined
|
||||||
|
}).
|
||||||
|
|
||||||
|
-spec test() -> _.
|
||||||
|
|
||||||
|
-spec filter_secrets_from_opts_test_() -> _.
|
||||||
|
filter_secrets_from_opts_test_() ->
|
||||||
|
[
|
||||||
|
?_assertEqual(
|
||||||
|
#{
|
||||||
|
args => {?ARG1, {nl, {msgpack_nil}}, #{}},
|
||||||
|
role => client,
|
||||||
|
service => 'Adapter'
|
||||||
|
},
|
||||||
|
filter_meta(
|
||||||
|
#{
|
||||||
|
args => {
|
||||||
|
?ARG1,
|
||||||
|
{nl, {msgpack_nil}},
|
||||||
|
#{<<"api-key">> => <<"secret">>, <<"secret-key">> => <<"secret">>}
|
||||||
|
},
|
||||||
|
role => client,
|
||||||
|
service => 'Adapter'
|
||||||
|
}
|
||||||
|
)
|
||||||
|
)
|
||||||
|
].
|
||||||
|
|
||||||
|
-endif.
|
@ -213,7 +213,7 @@ call_service(Fun, Args) ->
|
|||||||
Request = {Service, Fun, Args},
|
Request = {Service, Fun, Args},
|
||||||
Client = ff_woody_client:new(#{
|
Client = ff_woody_client:new(#{
|
||||||
url => <<"http://localhost:8022/v1/destination">>,
|
url => <<"http://localhost:8022/v1/destination">>,
|
||||||
event_handler => scoper_woody_event_handler
|
event_handler => ff_woody_event_handler
|
||||||
}),
|
}),
|
||||||
ff_woody_client:call(Client, Request).
|
ff_woody_client:call(Client, Request).
|
||||||
|
|
||||||
|
@ -238,7 +238,7 @@ get_shifted_create_identity_events_ok(C) ->
|
|||||||
ip => {0, 0, 0, 0},
|
ip => {0, 0, 0, 0},
|
||||||
port => 8040,
|
port => 8040,
|
||||||
handlers => [],
|
handlers => [],
|
||||||
event_handler => scoper_woody_event_handler,
|
event_handler => ff_woody_event_handler,
|
||||||
additional_routes => IdentityRoute
|
additional_routes => IdentityRoute
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
@ -456,7 +456,7 @@ call_handler(Function, ServiceName, Args, Port) ->
|
|||||||
Request = {Service, Function, Args},
|
Request = {Service, Function, Args},
|
||||||
Client = ff_woody_client:new(#{
|
Client = ff_woody_client:new(#{
|
||||||
url => <<"http://localhost:", Port/binary, Path/binary>>,
|
url => <<"http://localhost:", Port/binary, Path/binary>>,
|
||||||
event_handler => scoper_woody_event_handler
|
event_handler => ff_woody_event_handler
|
||||||
}),
|
}),
|
||||||
ff_woody_client:call(Client, Request).
|
ff_woody_client:call(Client, Request).
|
||||||
|
|
||||||
@ -465,7 +465,7 @@ create_sink_route(ServiceName, {Handler, Cfg}) ->
|
|||||||
Path = ff_services:get_service_path(ServiceName),
|
Path = ff_services:get_service_path(ServiceName),
|
||||||
NewCfg = Cfg#{
|
NewCfg = Cfg#{
|
||||||
client => #{
|
client => #{
|
||||||
event_handler => scoper_woody_event_handler,
|
event_handler => ff_woody_event_handler,
|
||||||
url => "http://machinegun:8022/v1/event_sink"
|
url => "http://machinegun:8022/v1/event_sink"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -477,7 +477,7 @@ create_sink_route(ServiceName, {Handler, Cfg}) ->
|
|||||||
woody_server_thrift_http_handler:get_routes(
|
woody_server_thrift_http_handler:get_routes(
|
||||||
genlib_map:compact(#{
|
genlib_map:compact(#{
|
||||||
handlers => [{Path, {Service, {ff_woody_wrapper, WrapperOptions}}}],
|
handlers => [{Path, {Service, {ff_woody_wrapper, WrapperOptions}}}],
|
||||||
event_handler => scoper_woody_event_handler
|
event_handler => ff_woody_event_handler
|
||||||
})
|
})
|
||||||
).
|
).
|
||||||
|
|
||||||
|
@ -144,7 +144,7 @@ call_api(Fun, Args) ->
|
|||||||
Request = {Service, Fun, Args},
|
Request = {Service, Fun, Args},
|
||||||
Client = ff_woody_client:new(#{
|
Client = ff_woody_client:new(#{
|
||||||
url => <<"http://localhost:8022/v1/identity">>,
|
url => <<"http://localhost:8022/v1/identity">>,
|
||||||
event_handler => scoper_woody_event_handler
|
event_handler => ff_woody_event_handler
|
||||||
}),
|
}),
|
||||||
ff_woody_client:call(Client, Request).
|
ff_woody_client:call(Client, Request).
|
||||||
|
|
||||||
|
@ -95,6 +95,6 @@ call_service(Fun, Args) ->
|
|||||||
Request = {Service, Fun, Args},
|
Request = {Service, Fun, Args},
|
||||||
Client = ff_woody_client:new(#{
|
Client = ff_woody_client:new(#{
|
||||||
url => <<"http://localhost:8022", Path/binary>>,
|
url => <<"http://localhost:8022", Path/binary>>,
|
||||||
event_handler => scoper_woody_event_handler
|
event_handler => ff_woody_event_handler
|
||||||
}),
|
}),
|
||||||
ff_woody_client:call(Client, Request).
|
ff_woody_client:call(Client, Request).
|
||||||
|
@ -165,7 +165,7 @@ call_service(Fun, Args) ->
|
|||||||
Request = {Service, Fun, Args},
|
Request = {Service, Fun, Args},
|
||||||
Client = ff_woody_client:new(#{
|
Client = ff_woody_client:new(#{
|
||||||
url => <<"http://localhost:8022/v1/source">>,
|
url => <<"http://localhost:8022/v1/source">>,
|
||||||
event_handler => scoper_woody_event_handler
|
event_handler => ff_woody_event_handler
|
||||||
}),
|
}),
|
||||||
ff_woody_client:call(Client, Request).
|
ff_woody_client:call(Client, Request).
|
||||||
|
|
||||||
|
@ -177,7 +177,7 @@ call_service(Fun, Args) ->
|
|||||||
Request = {Service, Fun, Args},
|
Request = {Service, Fun, Args},
|
||||||
Client = ff_woody_client:new(#{
|
Client = ff_woody_client:new(#{
|
||||||
url => <<"http://localhost:8022/v1/wallet">>,
|
url => <<"http://localhost:8022/v1/wallet">>,
|
||||||
event_handler => scoper_woody_event_handler
|
event_handler => ff_woody_event_handler
|
||||||
}),
|
}),
|
||||||
ff_woody_client:call(Client, Request).
|
ff_woody_client:call(Client, Request).
|
||||||
|
|
||||||
|
@ -197,6 +197,6 @@ call_repair(Args) ->
|
|||||||
Request = {Service, 'Repair', Args},
|
Request = {Service, 'Repair', Args},
|
||||||
Client = ff_woody_client:new(#{
|
Client = ff_woody_client:new(#{
|
||||||
url => <<"http://localhost:8022/v1/repair/withdrawal/session">>,
|
url => <<"http://localhost:8022/v1/repair/withdrawal/session">>,
|
||||||
event_handler => scoper_woody_event_handler
|
event_handler => ff_woody_event_handler
|
||||||
}),
|
}),
|
||||||
ff_woody_client:call(Client, Request).
|
ff_woody_client:call(Client, Request).
|
||||||
|
@ -36,7 +36,7 @@ call(Function, Args, Client) ->
|
|||||||
Call = {{limproto_limiter_thrift, 'Limiter'}, Function, Args},
|
Call = {{limproto_limiter_thrift, 'Limiter'}, Function, Args},
|
||||||
Opts = #{
|
Opts = #{
|
||||||
url => <<"http://limiter:8022/v1/limiter">>,
|
url => <<"http://limiter:8022/v1/limiter">>,
|
||||||
event_handler => scoper_woody_event_handler,
|
event_handler => ff_woody_event_handler,
|
||||||
transport_opts => #{
|
transport_opts => #{
|
||||||
max_connections => 10000
|
max_connections => 10000
|
||||||
}
|
}
|
||||||
@ -48,7 +48,7 @@ call_configurator(Function, Args, Client) ->
|
|||||||
Call = {{limproto_configurator_thrift, 'Configurator'}, Function, Args},
|
Call = {{limproto_configurator_thrift, 'Configurator'}, Function, Args},
|
||||||
Opts = #{
|
Opts = #{
|
||||||
url => <<"http://limiter:8022/v1/configurator">>,
|
url => <<"http://limiter:8022/v1/configurator">>,
|
||||||
event_handler => scoper_woody_event_handler,
|
event_handler => ff_woody_event_handler,
|
||||||
transport_opts => #{
|
transport_opts => #{
|
||||||
max_connections => 10000
|
max_connections => 10000
|
||||||
}
|
}
|
||||||
|
@ -473,7 +473,7 @@ call_admin(Fun, Args) ->
|
|||||||
Request = {Service, Fun, Args},
|
Request = {Service, Fun, Args},
|
||||||
Client = ff_woody_client:new(#{
|
Client = ff_woody_client:new(#{
|
||||||
url => <<"http://localhost:8022/v1/admin">>,
|
url => <<"http://localhost:8022/v1/admin">>,
|
||||||
event_handler => scoper_woody_event_handler
|
event_handler => ff_woody_event_handler
|
||||||
}),
|
}),
|
||||||
ff_woody_client:call(Client, Request).
|
ff_woody_client:call(Client, Request).
|
||||||
|
|
||||||
@ -616,7 +616,7 @@ call(Function, {Service, Path}, Args, Port) ->
|
|||||||
Request = {Service, Function, Args},
|
Request = {Service, Function, Args},
|
||||||
Client = ff_woody_client:new(#{
|
Client = ff_woody_client:new(#{
|
||||||
url => <<"http://localhost:", Port/binary, Path/binary>>,
|
url => <<"http://localhost:", Port/binary, Path/binary>>,
|
||||||
event_handler => scoper_woody_event_handler
|
event_handler => ff_woody_event_handler
|
||||||
}),
|
}),
|
||||||
ff_woody_client:call(Client, Request).
|
ff_woody_client:call(Client, Request).
|
||||||
|
|
||||||
|
@ -1059,7 +1059,7 @@ call_session_repair(SessionID, Scenario) ->
|
|||||||
Request = {Service, 'Repair', {SessionID, Scenario}},
|
Request = {Service, 'Repair', {SessionID, Scenario}},
|
||||||
Client = ff_woody_client:new(#{
|
Client = ff_woody_client:new(#{
|
||||||
url => <<"http://localhost:8022/v1/repair/withdrawal/session">>,
|
url => <<"http://localhost:8022/v1/repair/withdrawal/session">>,
|
||||||
event_handler => scoper_woody_event_handler
|
event_handler => ff_woody_event_handler
|
||||||
}),
|
}),
|
||||||
ff_woody_client:call(Client, Request).
|
ff_woody_client:call(Client, Request).
|
||||||
|
|
||||||
@ -1068,7 +1068,7 @@ call_withdrawal_repair(SessionID, Scenario) ->
|
|||||||
Request = {Service, 'Repair', {SessionID, Scenario}},
|
Request = {Service, 'Repair', {SessionID, Scenario}},
|
||||||
Client = ff_woody_client:new(#{
|
Client = ff_woody_client:new(#{
|
||||||
url => <<"http://localhost:8022/v1/repair/withdrawal">>,
|
url => <<"http://localhost:8022/v1/repair/withdrawal">>,
|
||||||
event_handler => scoper_woody_event_handler
|
event_handler => ff_woody_event_handler
|
||||||
}),
|
}),
|
||||||
ff_woody_client:call(Client, Request).
|
ff_woody_client:call(Client, Request).
|
||||||
|
|
||||||
|
@ -45,7 +45,7 @@ new(Opts = #{url := _}) ->
|
|||||||
EventHandlerOpts = genlib_app:env(ff_server, scoper_event_handler_options, #{}),
|
EventHandlerOpts = genlib_app:env(ff_server, scoper_event_handler_options, #{}),
|
||||||
maps:merge(
|
maps:merge(
|
||||||
#{
|
#{
|
||||||
event_handler => {scoper_woody_event_handler, EventHandlerOpts}
|
event_handler => {ff_woody_event_handler, EventHandlerOpts}
|
||||||
},
|
},
|
||||||
maps:with([url, event_handler, transport_opts], Opts)
|
maps:with([url, event_handler, transport_opts], Opts)
|
||||||
);
|
);
|
||||||
|
@ -18,7 +18,7 @@ init(Opts) ->
|
|||||||
handlers => [
|
handlers => [
|
||||||
{Path, {{dmsl_wthd_provider_thrift, 'Adapter'}, {ff_ct_provider_thrift, []}}}
|
{Path, {{dmsl_wthd_provider_thrift, 'Adapter'}, {ff_ct_provider_thrift, []}}}
|
||||||
],
|
],
|
||||||
event_handler => scoper_woody_event_handler,
|
event_handler => ff_woody_event_handler,
|
||||||
ip => proplists:get_value(ip, Opts, "::"),
|
ip => proplists:get_value(ip, Opts, "::"),
|
||||||
port => proplists:get_value(port, Opts, 8022),
|
port => proplists:get_value(port, Opts, 8022),
|
||||||
net_opts => proplists:get_value(net_opts, Opts, [])
|
net_opts => proplists:get_value(net_opts, Opts, [])
|
||||||
|
Loading…
Reference in New Issue
Block a user