問題タブ [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.
html - 口ひげ、活気、Clojureを使用して画像ファイルをhtmlページにレンダリングする
mustache(リングハンドラーとミドルウェアをワイヤリングするためのマイクロフレームワーク)、enlive(htmlテンプレートエンジンとして)、およびclojureを使用するアプリケーションでは、htmlファイル内の画像を表示できません。これらのファイルをhtmlにレンダリングする方法は?
clojure - Clojure Ring ミドルウェアを正しい順序で配置する
Clojure サーバーのミドルウェアに問題があります。私のアプリには次の要件があります。
一部のルートは問題なくアクセスできるはずです。他のものは基本認証を必要とするため、すべてのハンドラー関数の前に位置し、要求が検証されることを確認する認証関数が必要です。これには ring-basic-authentication ハンドラーを使用してきました。特に、パブリック ルートとプライベート ルートを分離する方法についての説明です。
ただし、
Authorization:
ヘッダーで送信されたパラメーターをルートコントローラーで使用できるようにしたいです。このために、リクエストのディクショナリに変数を配置する Compojure のsite
関数を使用してきました(たとえば、 Compojure POST リクエストでフォーム パラメータが見つからないを参照してください) 。compojure.handler
:params
ただし、401 認証とパラメーターの両方を同時に機能させることはできないようです。私がこれを試してみると:
認証変数はauthenticated?
関数内でアクセスできますが、ルートではアクセスできません。
明らかに、これは非常に一般的な例ではありませんが、私は本当に自分の車輪を回転させ、ミドルウェアの順序をランダムに変更し、うまくいくことを望んでいるように感じます. 私の特定の例と、物事を正しく実行するためにミドルウェアをラップする方法の詳細について、いくつかの助けをいただければ幸いです。
ありがとう、ケビン
clojure - clojure redis set は、値の代わりに値の文字列の長さを設定しています
次のコードを使用してredisにキーを設定しています
しかし、redis-cli を実行してそこに設定された値を確認すると、str-value ではなく str-value の長さを返していることがわかります
これを次のように削除しました。
「redis-cli> get foo」を使用すると、「3」と応答します
http://devender.wordpress.com/2010/06/13/redis-and-clojure/の例を見ていますが、彼の例をコピーして貼り付けても失敗します。私は試します:
そして私は得る
私は途方に暮れています。ここで役立つ場合は、私の ns フォームです。
clojure - ring/compojure を使用した静的ファイルの提供 - 戦争から
リング(およびlein-ringツール)を使用すると、開発中にドキュメントに従って「リソース」などから静的ファイルを提供できます-ただし、lien uberwarを介してパッケージ化すると、作成方法がわかりませんコンテナで実行するときにこれらのファイルを提供します。wrap-resource または :resource-path の設定で競合するドキュメントが表示されますが、どれも機能していないようです。
tomcat - Compojure:ファイルシステムにアクセス
これは私のproject.cljファイルです:
そしてこれは私のルーティング:
いくつかのWeb静的ファイルが/resources/public
あり、それらにアクセスできます。コードでは、とにあるファイルシステム上のいくつかのファイルにもアクセスする必要があり/resources/data
ます/resources/tpl
。lein ring
サーバーまたはを使用するlein run
と、次の呼び出しが正常に機能します
しかし、lein uberwar
Tomcatを使用してアプリケーションをパックしてデプロイすると、失敗し、FileNotFoundExceptionが発生します。おそらくこれは、leinでは現在の作業ディレクトリがプロジェクトルートであり、TomcatではTomcatのbinディレクトリであるためです。
たとえば、「resources / data / data.dat」がTomcatで機能しないか、「data / data.dat」が開発で機能しないため/resources/data/data.dat
、戦争に巻き込まれています。/data/data.dat
ちなみに、Compojureでこれを管理する適切な方法は何ですか?ありがとう。
session - サンドバー セッションはどのように機能しますか?
Clojure Web アプリケーションにサンドバーを使用することになっています。サンドバーがサーバー側でセッションを維持する方法を知りたいですか? jsessionid
ユーザーのリクエストを識別するために Cookie を使用しますか? それとも、サンドバーはセッション オブジェクトをクライアントに送り返し、リクエストから再読み取りし、セッションを操作して再送信しているだけですか?
web-services - RingハンドラでHttpServletRequestを取得するには?
Ring ハンドラで HttpServletRequest オブジェクトを取得する方法はありますか? Noir を使用して Web アプリを開発しています。URI を処理するときに HttpServletRequest obj を取得する必要があります。したがって、(noir.request.ring-request) 関数を使用して、:servlet-request キーを含むリング リクエスト マップを取得しますが、値は nil です。これは正しい方法ですか、それとも何か見逃していますか?
以下はコードです:
結果:
clojure - このようなルートの名前は何ですか?
私はCompojure のチュートリアルを読んでいて、このルートの例を見ました:
実際の HTTP パラメーター (GET または POST) ではなく、パスの一部がパラメーターである種類のルートの適切な正式名は何だろうと思っていました。
私はそれが何をするか知っています。その名前が何なのか知りたいです。私が考えることができる最善の方法は、わかりやすい URL ですが、それはかなりあいまいです。
clojure - Clojure/Ring: Ring Jetty アダプターを使用すると、大量のリクエストで 413: FULL HEAD エラーが発生します。
Ring の Jetty アダプターを使用すると、リクエストが大きすぎると 413: FULL HEAD エラーが発生します。headerbuffersize と呼ばれるプロパティまで追跡しましたが、run-jetty 呼び出しで設定しようとすると、まだ 413 が表示されます。Ring から jetty 設定を制御するより良い方法はありますか?
これを行う正しい方法は何ですか?
ありがとう!