aboutsummaryrefslogtreecommitdiffstats
path: root/lib/diameter/src/base/diameter_config.erl
diff options
context:
space:
mode:
authorAnders Svensson <[email protected]>2013-02-18 12:55:56 +0100
committerAnders Svensson <[email protected]>2013-02-18 12:55:56 +0100
commitfbe790cebb7ac6c713e0a4c440e11174ce49c51f (patch)
tree397b52c2ae7b07ba740b75bb50b263c0b14e8b77 /lib/diameter/src/base/diameter_config.erl
parent1eb56b8359fdc2f695f7439d5343330f3d5a5692 (diff)
parentdf2189c22f7ca7660496e46322d8b825e9f28ba3 (diff)
downloadotp-fbe790cebb7ac6c713e0a4c440e11174ce49c51f.tar.gz
otp-fbe790cebb7ac6c713e0a4c440e11174ce49c51f.tar.bz2
otp-fbe790cebb7ac6c713e0a4c440e11174ce49c51f.zip
Merge branch 'anders/diameter/3xxx_callback/OTP-10686'
* anders/diameter/3xxx_callback/OTP-10686: Add 3xxx suite for testing application_opt() request_errors Minor suite simplification Add application_opt() request_errors
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) ->