Fork me on GitHub
#reitit
<
2020-07-29
>
skuro16:07:07

say I have an endpoint that's configured to receive the following:

:parameters {:form :login/credentials}
where :login/credentials is defined as
(s/def :login/email
  (st/spec {:spec string?}))

(s/def :login/password
  (st/spec {:spec string?}))

(s/def :login/credentials
  (st/spec {:spec (s/keys :req [:login/email
                                :login/password])))
and I have followed the ring coercion guide (https://cljdoc.org/d/metosin/reitit/0.5.5/doc/ring/pluggable-coercion). Am I wrong to assume that :parameters in the request map coming from a conforming request such as
[email protected]&password=supersecret!
should be coerced into
{:login/email "" :login/password "supersecret!"}
? Reason I'm asking is that I'm currently getting unqualified keywords:
{:email "me@myself" :password "supersecret!"}
and I'm not sure whether it's a mismatch in my expectation or a misconfiguration at some point