問題タブ [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.

0 投票する
1 に答える
1623 参照

utf-8 - clojure と ring: 応答の utf-8 が '?' として表示される

私のリング アプリが utf-8 を適切に提供していないことに驚きました。これを単純なテストケースに落とし込みましたが、これが常にブラウザーに utf-8 を返すようにする方法を知っている人はいますか?

project.clj で (lein-ring プラグインを使用):

ターミナルで:

---> ɮѪϴ (これは間違っています。ɮѪϴ のはずです)

これはアプリが展開されている場所であるため、Tomcatでも機能する方法が望ましいです。

ありがとう!

0 投票する
2 に答える
958 参照

clojure - RingハンドラでREPLウィンドウに出力するには?

printlnハンドラーでは機能しないようです。REPL ウィンドウに書き込むにはどうすればよいですか?

私は反時計回りで日食を使用しています。

編集:これはnrepl issueのようです。(future (println "foo"))は問題ありませんが、 では出力がありません(.start (Thread. #(println "foo")))

0 投票する
1 に答える
203 参照

clojure - クロージュア/リングのサーブレット統合セキュリティ?

私は、リング Web アプリケーションの既存のサーブレット コンテナーに統合されたセキュリティを活用する良い方法を探していました。認証/承認を処理するために、独自のリング ミドルウェアを使用して車輪を再発明しようとしているようです。

レルム構成といくつかのセキュリティ制約を公開するリング ミドルウェアのようなものを見たいと思います。何かのようなもの:

そして、いくつかのロールに制限できるハンドラをラップするマクロ

ここでレインリングエクステンションを考えています。

このようなものはありますか?ここでGoogle検索が役に立たない

0 投票する
1 に答える
2162 参照

clojure - リングプロジェクトで任意のスタートアップ関数を実行するにはどうすればよいですか?

現在実行しているcompojure/ringアプリケーションがあり、lein ring serverそれを.warにコンパイルして、デプロイできるようにします。私は定義を持っています、しかし、ちょうど

これにより、.warのコンパイルと生成がブロックされます。これを回避するために、呼び出しをスタートアップ関数に移動することを考えましたが、サーバーの起動時にどのように呼び出すのでしょうか。

ハンドラー内に呼び出しを入れると、以前と同じ問題が発生します。

ありがとう!

0 投票する
1 に答える
178 参照

clojure - 明示的にロードされたソース ファイルを処理するリロード ミドルウェア

Ring にはミドルウェア「reload」が付属しています (https://github.com/ring-clojure/ring/blob/master/ring-devel/src/ring/middleware/reload.clj)。ns-tracker (https://github.com/weavejester/ns-tracker) に基づいています。ns-tracker は、ソース ディレクトリを調べて、ns 形式で始まる可能性のあるソース ファイルを探します。これらの ns フォームに含まれる情報から依存関係グラフを作成します。もちろん、これは完全に機能しますが、ns フォームに明示的に含まれる依存関係に対してのみです。

Clojure には、名前空間が複数のファイルに分割されるイディオムがあります。名前空間 (ns 形式) を定義する単一のソース ファイルがあります。このファイルには最上位のフォームをいくつでも含めることができますが、通常は最上位にロードが含まれますが、必ずしもそうではないと思います。ロードされたファイルは in-ns フォームで始まります。これは、あなたが思っているほど曖昧なテクニックではありません... clojure.core はそれを使用しています。

これらのロードされたファイルの内容は、それ自体ではモジュールを構成しません。また、強制的にモジュールにすることもできません (循環依存など)。

ns-tracker は、ソース ファイルをスキャンしてロード式を探したり、in-ns フォームを探したりしません。そして、その理由は十分に明確です。しかし、ロードされたファイルへの変更は明らかに名前空間をリロードしないため、ワークフローが本当に台無しになります。

明示的にロードされたソース ファイルを処理するライブラリがあるかどうかを知っている人はいますか? 何もない場合は、一緒に何かをハックして (おそらくロードに関する醜いマクロを書いて)、公開します。

0 投票する
1 に答える
345 参照

http - Clojure Noir: アプリケーションの一部だけにベーシック認証を設定する方法

Ring Basic Authenticationを使用して、アプリに HTTP Basic 認証を設定しました。それはうまく動作し、次のようになります。

認証された?私自身の関数の実装です。ここで、アプリケーションの一部のみを基本認証の下に、他の部分を公開するように構成したいと思います。これはRing(およびCompojure)で実行できることを知っているので、Ring上に構築されたNoirで実行できるはずです。ルートを使用し、ノワールのルートに到達する方法がわからないため、この例をノワールに適用する方法がよくわかりません。何か案は?

0 投票する
3 に答える
2217 参照

session - clojure/ring で Cookie を削除するにはどうすればよいですか?

Cookie (リングのセッション Cookie など) を削除するとします。

次のような応答マップを作成します。

動作しているように見えますが、少しハッキーに感じます。

それを削除するきれいな方法はありますか?

0 投票する
1 に答える
218 参照

clojure - 既存の clojure アプリに webapp フロントエンドを追加する

Clojure ベースのチャット ボットを使用して、典型的な leiningen の方法で起動しlein runます。このアプリにフロント エンドを追加したいのですが、その方法がよくわかりません。compojure、lib-noir、および ring に関するドキュメントを読むと、サービスを提供する標準的な方法はlein ring server. 可能であれば、単一の lein コマンドでアプリとフロントエンドを起動したいだけです。これには、サーバーを(おそらく別のスレッドで)手動で起動する必要がありますか(run-jetty handler {:port 3000})、または誰かがより良いアプローチを推奨できますか?

0 投票する
0 に答える
223 参照

clojure - ringclojure用のディレクトリエクスプローラミドルウェア

apacheのような標準のファイルサーバーがルートを処理する方法を模倣するリング用の利用可能なミドルウェアはありますか?

したがって、ハンドラーは次のようになります。

これは非常に似ています

ただし、ディレクトリリストも出力します。

0 投票する
1 に答える
1987 参照

clojure - ルート/ファイルとルート/リソースをリング/構成で使用する

使用の違いは何ですか -

静的フォルダーのルートを設定するには?

ありがとう、ムルタザ