Fork me on GitHub
#luminus
<
2022-03-02
>
zendevil.eth20:03:54

what is the middleware/wrap-formats middleware, and why do my requests return 500 when I remove this middleware? I’m sending a request like so:

(:body (clj-http.client/post ""
                             {:form-params {:foo :bar :email "" :password 123}}))
and this is the error that I’m getting:
Show: Project-Only All 
  Hide: Clojure Java REPL Tooling Duplicates  (16 frames hidden)

2. Unhandled clojure.lang.Compiler$CompilerException
   Error compiling src/clj/coercion_poc/scripts.clj at (5:1)
   #:clojure.error{:phase :compile-syntax-check,
                   :line 5,
                   :column 1,
                   :source
                   "/Users/prikshetsharma/Desktop/coercion-poc/src/clj/coercion_poc/scripts.clj"}
             Compiler.java: 7652  clojure.lang.Compiler/load
                      REPL:    1  user/eval31151
                      REPL:    1  user/eval31151
             Compiler.java: 7181  clojure.lang.Compiler/eval
             Compiler.java: 7136  clojure.lang.Compiler/eval
                  core.clj: 3202  clojure.core/eval
                  core.clj: 3198  clojure.core/eval
    interruptible_eval.clj:   87  nrepl.middleware.interruptible-eval/evaluate/fn/fn
                  AFn.java:  152  clojure.lang.AFn/applyToHelper
                  AFn.java:  144  clojure.lang.AFn/applyTo
                  core.clj:  667  clojure.core/apply
                  core.clj: 1977  clojure.core/with-bindings*
                  core.clj: 1977  clojure.core/with-bindings*
               RestFn.java:  425  clojure.lang.RestFn/invoke
    interruptible_eval.clj:   87  nrepl.middleware.interruptible-eval/evaluate/fn
                  main.clj:  437  clojure.main/repl/read-eval-print/fn
                  main.clj:  437  clojure.main/repl/read-eval-print
                  main.clj:  458  clojure.main/repl/fn
                  main.clj:  458  clojure.main/repl
                  main.clj:  368  clojure.main/repl
               RestFn.java:  137  clojure.lang.RestFn/applyTo
                  core.clj:  667  clojure.core/apply
                  core.clj:  662  clojure.core/apply
                regrow.clj:   20  refactor-nrepl.ns.slam.hound.regrow/wrap-clojure-repl/fn
               RestFn.java: 1523  clojure.lang.RestFn/invoke
    interruptible_eval.clj:   84  nrepl.middleware.interruptible-eval/evaluate
    interruptible_eval.clj:   56  nrepl.middleware.interruptible-eval/evaluate
    interruptible_eval.clj:  152  nrepl.middleware.interruptible-eval/interruptible-eval/fn/fn
                  AFn.java:   22  clojure.lang.AFn/run
               session.clj:  218  nrepl.middleware.session/session-exec/main-loop/fn
               session.clj:  217  nrepl.middleware.session/session-exec/main-loop
                  AFn.java:   22  clojure.lang.AFn/run
               Thread.java:  748  java.lang.Thread/run

1. Caused by clojure.lang.ExceptionInfo
   clj-http: status 500
   {:cached nil,
    :request-time 238,
    :repeatable? false,
    :protocol-version {:name "HTTP", :major 1, :minor 1},
    :streaming? false,
    :http-client
    #object[org.apache.http.impl.client.InternalHttpClient 0x3662c8b9 "org.apache.http.impl.client.InternalHttpClient@3662c8b9"],
    :chunked? false,
    :type :clj-http.client/unexceptional-status,
    :reason-phrase "Internal Server Error",
    :headers
    {"Connection" "close",
     "Set-Cookie"
     "JSESSIONID=7HV4FcMx9H6p8yUP09QQ7euWPVMqerNmIYBfnkOq; path=/; HttpOnly",
     "X-XSS-Protection" "1; mode=block",
     "X-Content-Type-Options" "nosniff",
     "X-Frame-Options" "SAMEORIGIN",
     "Content-Type" "application/octet-stream",
     "Content-Length" "0",
     "Date" "Wed, 02 Mar 2022 20:24:26 GMT"},
    :orig-content-encoding nil,
    :status 500,
    :length 0,
    :body "",
    :trace-redirects []}
               support.clj:  201  slingshot.support/stack-trace
                client.clj:  241  clj-http.client/exceptions-response
                client.clj:  232  clj-http.client/exceptions-response
                client.clj:  250  clj-http.client/wrap-exceptions/fn
                client.clj:  728  clj-http.client/wrap-accept/fn
                client.clj:  750  clj-http.client/wrap-accept-encoding/fn
                client.clj:  711  clj-http.client/wrap-content-type/fn
                client.clj:  959  clj-http.client/wrap-form-params/fn
                client.clj:  993  clj-http.client/wrap-nested-params/fn
                client.clj: 1017  clj-http.client/wrap-flatten-nested-params/fn
                client.clj:  893  clj-http.client/wrap-method/fn
               cookies.clj:  128  clj-http.cookies/wrap-cookies/fn
                 links.clj:   63  clj-http.links/wrap-links/fn
                client.clj: 1046  clj-http.client/wrap-unknown-host/fn
                client.clj: 1174  clj-http.client/request*
                client.clj: 1167  clj-http.client/request*
                client.clj: 1192  clj-http.client/post
                client.clj: 1188  clj-http.client/post
               RestFn.java:  423  clojure.lang.RestFn/invoke
               scripts.clj:    5  coercion-poc.scripts/eval31163
               scripts.clj:    5  coercion-poc.scripts/eval31163
             Compiler.java: 7181  clojure.lang.Compiler/eval
             Compiler.java: 7640  clojure.lang.Compiler/load
                      REPL:    1  user/eval31151
                      REPL:    1  user/eval31151
             Compiler.java: 7181  clojure.lang.Compiler/eval
             Compiler.java: 7136  clojure.lang.Compiler/eval
                  core.clj: 3202  clojure.core/eval
                  core.clj: 3198  clojure.core/eval
    interruptible_eval.clj:   87  nrepl.middleware.interruptible-eval/evaluate/fn/fn
                  AFn.java:  152  clojure.lang.AFn/applyToHelper
                  AFn.java:  144  clojure.lang.AFn/applyTo
                  core.clj:  667  clojure.core/apply
                  core.clj: 1977  clojure.core/with-bindings*
                  core.clj: 1977  clojure.core/with-bindings*
               RestFn.java:  425  clojure.lang.RestFn/invoke
    interruptible_eval.clj:   87  nrepl.middleware.interruptible-eval/evaluate/fn
                  main.clj:  437  clojure.main/repl/read-eval-print/fn
                  main.clj:  437  clojure.main/repl/read-eval-print
                  main.clj:  458  clojure.main/repl/fn
                  main.clj:  458  clojure.main/repl
                  main.clj:  368  clojure.main/repl
               RestFn.java:  137  clojure.lang.RestFn/applyTo
                  core.clj:  667  clojure.core/apply
                  core.clj:  662  clojure.core/apply
                regrow.clj:   20  refactor-nrepl.ns.slam.hound.regrow/wrap-clojure-repl/fn
               RestFn.java: 1523  clojure.lang.RestFn/invoke
    interruptible_eval.clj:   84  nrepl.middleware.interruptible-eval/evaluate
    interruptible_eval.clj:   56  nrepl.middleware.interruptible-eval/evaluate
    interruptible_eval.clj:  152  nrepl.middleware.interruptible-eval/interruptible-eval/fn/fn
                  AFn.java:   22  clojure.lang.AFn/run
               session.clj:  218  nrepl.middleware.session/session-exec/main-loop/fn
               session.clj:  217  nrepl.middleware.session/session-exec/main-loop
                  AFn.java:   22  clojure.lang.AFn/run
               Thread.java:  748  java.lang.Thread/run

zendevil.eth20:03:23

and

2022-03-02 15:24:26,031 [XNIO-1 task-1] ERROR io.undertow.request - UT005071: Undertow request failed HttpServerExchange{ POST /api/login} 
java.lang.UnsupportedOperationException: Body class not supported: class clojure.lang.PersistentArrayMap
	at ring.adapter.undertow.response$eval16617$fn__16618.invoke(response.clj:46)
	at ring.adapter.undertow.response$eval16572$fn__16573$G__16563__16580.invoke(response.clj:11)
	at ring.adapter.undertow.response$set_exchange_response.invokeStatic(response.clj:59)
	at ring.adapter.undertow.response$set_exchange_response.invoke(response.clj:52)
	at ring.adapter.undertow$handle_request.invokeStatic(undertow.clj:23)
	at ring.adapter.undertow$handle_request.invoke(undertow.clj:19)
	at ring.adapter.undertow$undertow_handler$fn$reify__16701.handleRequest(undertow.clj:41)
	at io.undertow.server.session.SessionAttachmentHandler.handleRequest(SessionAttachmentHandler.java:68)
	at io.undertow.server.Connectors.executeRootHandler(Connectors.java:387)
	at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:852)
	at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
	at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:2019)
	at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1558)
	at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1449)
	at org.xnio.XnioWorker$WorkerThreadFactory$1$1.run(XnioWorker.java:1280)
	at java.lang.Thread.run(Thread.java:748)
Syntax error (ExceptionInfo) compiling at (src/clj/coercion_poc/scripts.clj:5:1).
clj-http: status 500