The snippet provided by Eric doesn't use the body... it returns a function that accepts params as argument, but they were not being passed... body was set instead, that's why I added slurp.
So maybe there's something wrong with the (middleware/wrap-json-params), because it's evidently not having effect. Am Dienstag, 6. Mai 2014 01:18:54 UTC+2 schrieb Sam Ritchie: > > (middleware/wrap-json-params) slurps the body up completely - this is > a mutation, so you won't be able to access the body again. > > Ivan Schuetz <javascript:> > May 5, 2014 3:49 PM > Concerning the workflow with the ajax-login... for some reason the > middleware to set params with json body of my POST isn't working. > > As a workaround I added this to ajax-login, to parse the params: > > (checore/parse-string (slurp (:body request)) true) > > > > I had also to remove the interactive-form workflow I had... now my > middleware looks like this: > > > (friend/authenticate {:credential-fn (partial > creds/bcrypt-credential-fn users) > :login-url "/login" > :workflows [ > (ajax-login) > ]}) > > > > I do have the middlewares supposedly responsible for setting :params ... > not idea why this is not being done. This is the complete block: > > (def app > (-> > (handler/api app-routes) > > (format/wrap-restful-format) > > (middleware/wrap-json-body) > (middleware/wrap-json-params) > (middleware/wrap-json-response) > > (friend/authenticate {:credential-fn (partial > creds/bcrypt-credential-fn users) > :login-url "/login" > :workflows [ > (ajax-login) > ]}) > > ) > ) > > But well, it works for now. > > > > Am Freitag, 25. April 2014 18:53:42 UTC+2 schrieb Ivan Schuetz: > -- > You received this message because you are subscribed to the Google > Groups "Clojure" group. > To post to this group, send email to clo...@googlegroups.com <javascript:> > Note that posts from new members are moderated - please be patient with > your first post. > To unsubscribe from this group, send email to > clojure+u...@googlegroups.com <javascript:> > For more options, visit this group at > http://groups.google.com/group/clojure?hl=en > --- > You received this message because you are subscribed to the Google Groups > "Clojure" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to clojure+u...@googlegroups.com <javascript:>. > For more options, visit https://groups.google.com/d/optout. > Ivan Schuetz <javascript:> > April 25, 2014 10:53 AM > Also I couldn't find which library you're using for "get-headers" > function... or is it a self made one? > > I found a get-headers in ring-servlet... > https://github.com/ring-clojure/ring/tree/master/ring-servlet > > Added this dependency [ring/ring-servlet "1.3.0-beta1"] didn't work > > And also in a netty adapter library > [ring-netty-adapter "0.0.3"] > > Also didn't work... for now I commented this line out, since it's not > necessary to get my curl test working. But it would be nice if you provide > the dependencies. > > > > Am Donnerstag, 24. April 2014 08:51:29 UTC+2 schrieb Erik Bakstad: > -- > You received this message because you are subscribed to the Google > Groups "Clojure" group. > To post to this group, send email to clo...@googlegroups.com <javascript:> > Note that posts from new members are moderated - please be patient with > your first post. > To unsubscribe from this group, send email to > clojure+u...@googlegroups.com <javascript:> > For more options, visit this group at > http://groups.google.com/group/clojure?hl=en > --- > You received this message because you are subscribed to the Google Groups > "Clojure" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to clojure+u...@googlegroups.com <javascript:>. > For more options, visit https://groups.google.com/d/optout. > Erik Bakstad <javascript:> > April 24, 2014 12:51 AM > Here is an example from our ajax-login form. After reading Sam's excellent > writeup it should be understandable. > > https://gist.github.com/ebaxt/11244031 > > kl. 00:28:45 UTC+2 torsdag 24. april 2014 skrev Ivan Schuetz følgende: > -- > You received this message because you are subscribed to the Google > Groups "Clojure" group. > To post to this group, send email to clo...@googlegroups.com <javascript:> > Note that posts from new members are moderated - please be patient with > your first post. > To unsubscribe from this group, send email to > clojure+u...@googlegroups.com <javascript:> > For more options, visit this group at > http://groups.google.com/group/clojure?hl=en > --- > You received this message because you are subscribed to the Google Groups > "Clojure" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to clojure+u...@googlegroups.com <javascript:>. > For more options, visit https://groups.google.com/d/optout. > Ivan Schuetz <javascript:> > April 23, 2014 4:28 PM > Hi, > > I'm trying to get a simple use case running - send a login request to > /login and get success or fail response, preferably in JSON format. > > I followed the example in https://github.com/cemerick/friend#workflows > > > (def users {"root" {:username "root" > :password (creds/hash-bcrypt "admin_password") > :roles #{::admin}} > "jane" {:username "jane" > :password (creds/hash-bcrypt "test") > :roles #{::user}}}) > > > (defroutes app-routes > > (GET "/test" [] {:body {:my-map "helo"}}) > > (route/resources "/") > > (route/not-found "Not found")) > > (def app > (-> > (handler/api app-routes) > (middleware/wrap-json-body) > (middleware/wrap-json-response) > > (friend/authenticate {:credential-fn (partial > creds/bcrypt-credential-fn users) > :workflows [ > (workflows/interactive-form)]}) > ) > ) > > > > I'm testing with curl: > > curl -v --data "username=jane&password=test" http://localhost:3000/login > > Or: > > curl -v --request POST " > http://localhost:3000/login?username=jane&password=test" > > And I get: > > * About to connect() to localhost port 3000 (#0) > * Trying ::1... > * connected > * Connected to localhost (::1) port 3000 (#0) > > POST /login?username=jane&password=test HTTP/1.1 > > User-Agent: curl/7.24.0 (x86_64-apple-darwin12.0) libcurl/7.24.0 > OpenSSL/0.9.8y zlib/1.2.5 > > Host: localhost:3000 > > Accept: */* > > > < HTTP/1.1 302 Found > < Date: Wed, 23 Apr 2014 22:25:15 GMT > < Location: http://localhost:3000/login?&login_failed=Y&username= > < Content-Length: 0 > < Server: Jetty(7.6.8.v20121106) > < > * Connection #0 to host localhost left intact > * Closing connection #0 > > > This looks like authentication failed, but the data is correct. I reviewed > the curl request, and this seems to be the correct way to send a POST. But > &username= gives me the impression it's not being parsed correctly. > > Also, how can I get a JSON response instead of only a header? > > Thanks. > > P.S. Maybe it would be positive if this library has an own Google Group. > -- > You received this message because you are subscribed to the Google > Groups "Clojure" group. > To post to this group, send email to clo...@googlegroups.com <javascript:> > Note that posts from new members are moderated - please be patient with > your first post. > To unsubscribe from this group, send email to > clojure+u...@googlegroups.com <javascript:> > For more options, visit this group at > http://groups.google.com/group/clojure?hl=en > --- > You received this message because you are subscribed to the Google Groups > "Clojure" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to clojure+u...@googlegroups.com <javascript:>. > For more options, visit https://groups.google.com/d/optout. > > > -- > Sam Ritchie (@sritchie) > Paddleguru Co-Founder > 703.863.8561 > www.paddleguru.com > Twitter <http://twitter.com/paddleguru> // > Facebook<http://facebook.com/paddleguru> > -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.