Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Clojure/Ring: Using the ring jetty adapter, large requests give me a 413: FULL HEAD error.

Using Ring's Jetty adapter, if my request is too large I get a 413: FULL HEAD error. I tracked it down to a property called headerbuffersize, but when I try to set it in the run-jetty call, I still get the 413's. Is there a better way to control jetty config from Ring?

(ring/run-jetty
 (var app)
 {:port port :join? false
  :headerbuffersize 1048576})

What is the right way to do this?

Thanks!

like image 545
prismofeverything Avatar asked Feb 14 '12 22:02

prismofeverything


1 Answers

I think this should work:

(def header-buffer-size 1048576)

(def config
  {:host  "example.com"
   :port  8080
   ; join? false ; and any other options...
   :configurator (fn [jetty]
                   (doseq [connector (.getConnectors jetty)]
                     (.setHeaderBufferSize connector
                                           header-buffer-size)))
   })
like image 59
Michał Marczyk Avatar answered Sep 19 '22 17:09

Michał Marczyk