diff options
author | geeksilva97 <[email protected]> | 2024-01-18 20:50:27 -0300 |
---|---|---|
committer | Loïc Hoguin <[email protected]> | 2024-01-23 14:11:29 +0100 |
commit | 08c2be058a1c376fcb80465473b53085c14f88f5 (patch) | |
tree | 81ffac7199ba181f801ce43bf738df7f52b0f428 /src/cowboy_req.erl | |
parent | 3e145af9b9e8d61ca042d1f94287d16b5ac155dd (diff) | |
download | cowboy-08c2be058a1c376fcb80465473b53085c14f88f5.tar.gz cowboy-08c2be058a1c376fcb80465473b53085c14f88f5.tar.bz2 cowboy-08c2be058a1c376fcb80465473b53085c14f88f5.zip |
Fix match_qs with constraints when key is not present
Original fix by Ali Farhadi <[email protected]>.
Diffstat (limited to 'src/cowboy_req.erl')
-rw-r--r-- | src/cowboy_req.erl | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/cowboy_req.erl b/src/cowboy_req.erl index 8edf4ff..995d67c 100644 --- a/src/cowboy_req.erl +++ b/src/cowboy_req.erl @@ -1024,7 +1024,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} -> |