diff options
Diffstat (limited to 'lib/diameter/src/base/diameter_config.erl')
-rw-r--r-- | lib/diameter/src/base/diameter_config.erl | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/lib/diameter/src/base/diameter_config.erl b/lib/diameter/src/base/diameter_config.erl index 1486071573..889c75e3da 100644 --- a/lib/diameter/src/base/diameter_config.erl +++ b/lib/diameter/src/base/diameter_config.erl @@ -672,13 +672,15 @@ app_acc({application, Opts}, Acc) -> ModS = get_opt(state, Opts, Alias), M = get_opt(call_mutates_state, Opts, false), A = get_opt(answer_errors, Opts, report), + R = get_opt(request_errors, Opts, answer_3xxx), [#diameter_app{alias = Alias, dictionary = Dict, id = cb(Dict, id), module = init_mod(Mod), init_state = ModS, mutable = init_mutable(M), - options = [{answer_errors, init_answers(A)}]} + options = [{answer_errors, init_answers(A)}, + {request_errors, init_request_errors(R)}]} | Acc]; app_acc(_, Acc) -> Acc. @@ -722,6 +724,13 @@ init_answers(A) init_answers(A) -> ?THROW({answer_errors, A}). +init_request_errors(P) + when callback == P; + answer_3xxx == P -> + P; +init_request_errors(P) -> + ?THROW({request_errors, P}). + %% Get a single value at the specified key. get_opt(Keys, List) when is_list(Keys) -> |