From 91b28d610962efe8794bdfc74ff9d1243b7fed1d Mon Sep 17 00:00:00 2001 From: Ali Farhadi Date: Sat, 13 Feb 2021 23:14:42 +0100 Subject: [PATCH] Exit with required error when checking a constrait and key does not exist. --- src/cowboy_req.erl | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/cowboy_req.erl b/src/cowboy_req.erl index 90c5a3a0..30afd2cb 100644 --- a/src/cowboy_req.erl +++ b/src/cowboy_req.erl @@ -991,7 +991,12 @@ filter([], Map, Errors) -> _ -> {error, Errors} end; filter([{Key, Constraints}|Tail], Map, Errors) -> - filter_constraints(Tail, Map, Errors, Key, maps:get(Key, Map), Constraints); + case maps:find(Key, Map) of + {ok, Value} -> + filter_constraints(Tail, Map, Errors, Key, Value, Constraints); + error -> + filter(Tail, Map, Errors#{Key => required}) + end; filter([{Key, Constraints, Default}|Tail], Map, Errors) -> case maps:find(Key, Map) of {ok, Value} ->