問題タブ [ring]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
clojure - プログラムでcompojureURLに投稿する
プログラムでルートにアクセスする方法はありますか(http経由で呼び出すことなく)。
例:(defroutes main-routes(POST "/ query" "OK ..."))
defroutesマクロが生成した「クエリ」関数を呼び出すことはできますか?
jar - リングサーバーでclojureアプリケーションを構築する方法
リングライブラリを含むclojureプロジェクトを入手しました。これはproject.cljです:
開発環境では、2つのコマンドで実行します。leinrunserver leinringserverと動作します。
本番環境では、依存関係を最小限に抑え、次のコマンドを使用してスタンドアロンjarにビルドします。
1つのjarファイルから両方のサーバーをビルドして実行するにはどうすればよいですか?
clojure - Compojureアプリがwith-redefsでうまく機能しない
私はCompojureアプリケーションを作成していて、clj-webdriver
それをグラフィカルにテストするために使用しています。with-redefs
永続性からデータを引き出して固定値を返す関数をモックアウトしようとしていますが、関数の上書きを無視しています。varsの観点からは機能することはわかってwith-redefs
いますが、まだ機能していません。
project.clj関連の部分:
handler.clj:
log-controller.clj:
永続性.clj
そして最後に、私のグラフィカルテスト-オーバーライドしようとしてmikes-log
失敗します:
one-week-snippet
いくつかのサンプルデータを返す関数はどこにありますか。(defn start-server [](run-jetty(var app){:port 3000:join?false}))
clojure - リングがこの応答でエラーを返すのはなぜですか?
以下は私のアプリです -
このルートでエラーが発生しました -
上記のルートを直接評価すると、正しく動作し、html ファイルが返されます -
テンプレート関数を直接呼び出すようにルートも変更すると、それも機能します-
何がうまくいかないのですか?
clojure - ring はフォームの wrap-params 情報をどこで取得しますか?
私はリングをより深く掘り下げようとしており、リクエストマップで何が起こっているかを確認するために次のコードを用意しています:
get
リクエストマップでクエリデータを見たいときはそこにあります。ブラウザに入力するhttp://localhost:8099/api/tasks/remove?hello=3
と、応答は次のようになります。
「hello=3」がクエリ文字列に含まれていることがわかります。
しかしpost
、応答には :content-type"application/x-www-form-urlencoded"
があり、応答全体は次の例のようになり、フォーム パラメータは表示されません。
私の質問は2つの部分に分かれています:
- フォームが送信されたとき、リングまたは桟橋は正確に何をしていますか?
- フォーム データを処理するために独自のコードを作成しようとしている場合
handler
、フォーム クエリ パラメータにアクセスする方法の簡略化されたコード スケルトンは何ですか?
「魔法」を次の関数に分離しましたparams.clj
。
特にこの行:
(parse-params (slurp body :encoding encoding) encoding)
しかし、それが何をしているのかわかりません。
clojure - ring.util.serve を使用して起動したリングサーバーを停止する方法
を使用してreplでサーバーを起動しています
サーバーの使用を開始したら、サーバーを停止するにはどうすればよいですか。
ありがとう、ムルタザ
java - start() で例外が発生した場合、Jetty サーバー スレッド プールを終了する
私は Clojure で組み込みの Jetty アプリを作成しており、メインの名前空間として次のものを持っています。
これは問題なく動作します - REPL を介して開始および停止できるようにしたいだけでなく、JAR が実行されているコンソールから開始および開始できるようにしたい (ただし、Clojure-Ring-Jetty プログラムの開始/停止のためのより良いパターンがあれば) 、知りたいです)。問題は、私が実行した場合です
また
そして、jetty/run-jetty (Server.start() 呼び出しをラップする) によってスローされる例外があります。出ません。ただし、例外はスレッド「メイン」にあります。では、なぜプログラムは終了しないのでしょうか? 私が考えることができる唯一のことは、Jetty にはスレッドが浮かんでいるということです。しかし、start() は失敗しました!!! では、これらのスレッド (プール) は何をしているのでしょうか?
これは Java のことですか、Clojure のことですか、Leiningen のことですか、Jetty のことですか、それとも Ring のことですか?
編集:
スタックトレースは次のとおりです。
clojure - restar なしで enlive を使用するときにテンプレートをリロードする方法
Web 開発に enlive を使用しています。を使用してreplでリングサーバーを起動します(serve my-app/handler)
ただし、html テンプレートのいずれかに変更を加えた場合、変更を表示するには repl を再起動する必要があります。repl を再起動せずにマークアップをリロードするにはどうすればよいですか?
ありがとう、ムルタザ
clojure - jetty/ring を使用してビデオファイルを iPad に提供する方法
ファイルサーバーでシンプルなリングサーバーをセットアップしました
ディレクトリにtest.mp4
andvideo.html
がありresources/public
ます。
video.html
mp4 ファイルを参照します。
http://server-ip-address:8890/video.html
Safari、Firefoxで開くと、つまり正常に動作します
しかし、ipad で開くと、再生できません。代わりに、再生できない黒い四角形が表示されます。
同じファイルをApacheサーバーに入れ、iPadでvideo.htmlを開くと、ビデオが完全に再生されます....
何が起こっている?
clojure - CGI アプリケーションをホストするには?
これまで、古い python CGI アプリケーションをホストするために、hunchentoot-cgi(CL)、mighttpd2(Haskell)、ocsigen(OCaml)、yaws(erlang) をテストしました。hunchentoot-cgi を除いて、すべてうまくいきます。私は Lisp スタイルのプログラミングが好きなので、Lisp スタイルの Web サーバーでアプリケーションをホストしたいと思っています。
erlang では、以下のように設定するだけです。
その後、python CGI アプリケーションが動作します。
ノワール/リングはどうですか?