aboutsummaryrefslogtreecommitdiffstats
path: root/lib/diameter/src/base/diameter_config.erl
diff options
context:
space:
mode:
Diffstat (limited to 'lib/diameter/src/base/diameter_config.erl')
-rw-r--r--lib/diameter/src/base/diameter_config.erl11
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) ->