जब मैं घाट हैंडलर सीधे बुला रहा था, मैं बहुत की तरह एक विन्यासक में पारित करने में सक्षम था:क्लोजर/अंगूठी/जेट्टी: मैं> लीन रिंग सर्वर का उपयोग कर रहा हूं। मैं जेटी इंस्टेंस को कैसे कॉन्फ़िगर कर सकता हूं जो तत्काल हो जाता है?
(def header-buffer-size 8388608)
(defn start [port]
(ring/run-jetty
(var app)
{:port port
:join? false
:host "127.0.0.1"
:configurator
(fn [jetty]
(doseq [connector (.getConnectors jetty)]
(.setHeaderBufferSize connector header-buffer-size)))}))
मैं यह करने के लिए किया था मैं, क्योंकि जब पोस्टिंग एक पूर्ण प्रमुख त्रुटि हो रही है। अब मैंने चीजों को सीधे> लीन रिंग सर्वर का उपयोग करने के लिए दोहराया, जिसे कमांड लाइन से बुलाया जाता है।
:ring {:handler caribou.api.core/app
:servlet-name "caribou-api"
:init caribou.api.core/init
:port 33443}
यह अच्छा काम करता है, लेकिन अब मैं पूर्ण प्रमुख मुद्दा फिर से हो रही है:
> lein ring server
यह कुछ विन्यास मेरी project.clj में निर्दिष्ट उपयोग करता है। इसलिए मैं वहाँ में एक विन्यासक जोड़ने की कोशिश की:
:ring {:handler caribou.api.core/app
:servlet-name "caribou-api"
:init caribou.api.core/init
:configurator
(fn [jetty]
(doseq [connector (.getConnectors jetty)]
(.setHeaderBufferSize connector 8388608)))
:port 33443})
और यह इस स्टैकट्रेस के साथ विफल:
Exception in thread "main" java.lang.ClassCastException:
clojure.lang.PersistentList cannot be cast to clojure.lang.IFn
at ring.adapter.jetty$run_jetty.invoke(jetty.clj:66)
at ring.server.standalone$serve$fn__833.invoke(standalone.clj:78)
at ring.server.standalone$try_port.invoke(standalone.clj:12)
at ring.server.standalone$serve.doInvoke(standalone.clj:75)
at clojure.lang.RestFn.invoke(RestFn.java:423)
at ring.server.leiningen$serve.invoke(leiningen.clj:20)
मैं सोचा इस तरह के नक्शे में सीधे समारोह डालने के साथ करना था, इसलिए मैं परियोजना के बाहर यह परिभाषित (caribou.api.core में) और यह जिक्र है कि मैं कार्यों के बाकी कहीं परिभाषित करना करने की कोशिश की:
;; in caribou/api/core.clj
(def header-buffer-size 8388608)
(defn full-head-avoidance
[jetty]
(doseq [connector (.getConnectors jetty)]
(.setHeaderBufferSize connector header-buffer-size)))
;; in project.clj
:ring {:handler caribou.api.core/app
:servlet-name "caribou-api"
:init caribou.api.core/init
:configurator caribou.api.core/full-head-avoidance
:port 33443})
इस एप्लिकेशन को ऊपर घूमती है, लेकिन मैं अभी भी 413 मिलती है: पूर्ण सिर पोस्ट करते समय त्रुटि। कोई विचार? धन्यवाद!
शायद कुछ ऐसा है जो उत्तर पोस्ट होने के बाद बदल गया है, लेकिन जब मुझे यहां प्रस्तावित करना पसंद है (फ़ंक्शन परिभाषा को अनवरोधित करें) मुझे एक और त्रुटि मिलती है: "टैग ऑब्जेक्ट के लिए कोई पाठक फ़ंक्शन नहीं"। क्या आपको पता है कि ऐसा क्यों हो सकता है? – Timur