問題タブ [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 に答える
447 参照

clojure - Clojure + Compojure + Ring Web アプリケーションで既存の Java サーブレットとフィルターを再利用/含める方法は?

gzip サーブレット フィルター、ファイル アップロード サーブレットなどの Java EE アーティファクトがたくさんありますが、これらは問題なく、Compojure と Ring に基づく Clojure Web アプリケーションで再利用したいと考えています。

これは可能ですか?もしそうなら、どのように?

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

macros - このマクロをclojureで作成するにはどうすればよいですか?

私はこの関数を持っています:

しかし、私は同じ名前の関数に解決されるページのリストを変更し続けており、次のように記述できるようにしたいと思います。

(def-handler善悪ニュートラル)

代わりは:

しかし、私は立ち往生しています。これまでの私のベストショットは次のようになります。

しかし、生成された呼び出しの要求はgensymではないため、完全には機能しません。そこでgensymを取得する方法がわかりません。

これは、新しいgensymが作成されたことに気付くまで、有望に見えました。

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

clojure - Lein-Ringuberwarにプロパティを含める方法

コマンドを使用して、JBossでLeiningenプロジェクトのテストデプロイを実行しようとしていますlein ring uberwar。プロパティファイルを読み込もうとするまで、これで大成功を収めていました。

プロパティファイルをマップに読み込む関数があります。

そして、私はそれを次のように使用します:

「application.properties」は、プロジェクトディレクトリ内のファイルの名前です。すべてがでうまく機能しlein runますが、スタンドアロンのwarを作成してJBossにcpすると、これはスタックトレースです。

:war-resources-pathと呼ばれる設定可能なdefprojectキーがあることに気付いたので、プロパティファイルを$ PROJECT_ROOT / war-resourcesディレクトリ(デフォルト)に配置しましたが、まだ運がありません。

誰かがを使用してプロパティファイルから読み取るための最良の方法を知っていますlein ring uberwarか?

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

clojure - ring-json の wrap-json-response ミドルウェアと compojure は text/plain? を返します。

Compojure アプリ内で ring-json の wrap-json-response ミドルウェアを使用しようとしています。のようなマップを返す単純な GET ハンドラーがあり{:foo 1}、URL にヒットすると、リングはtext/plain空の応答本文で応答します。JSONバージョンのマップで応答できないようです。

ここに私のハンドラコードがあります:

ルート ハンドラー関数は文字どおりマップを返すだけなので、そのコードは単純なので省略することもできます。Compojure ルート ハンドラーからマップを返すことが問題である場合、おそらくそれでおしまいでしょうか?

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

clojure - Ring ミドルウェアがリクエストで :params マップを認識しないのはなぜですか?

私はRingミドルウェアを書いており、 Compojure. ミドルウェアで :params マップを調べて、特定のキーがユーザーによって提供されたかどうかを確認します。ただし、私のミドルウェア関数では、リクエスト マップに :params マップが含まれていません。最後のリクエスト ハンドラーには、:paramsマップがあります。カスタムミドルウェアの前にマップが設定されていないと考えてい:paramsますが、実際に設定する方法がわかりません。

何か案は?

上は私の handler.clj ファイルで、下はミドルウェアそのものです。

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

layout - リング/桟橋での自動コードリロード

Ring / JettyをClojureで使用して、コードに変更を加えるときは、JVM全体をリロードする必要があります。

Jettyをコードの変更と非同期に保つ方法はありますか?それで、ブラウザーウィンドウを更新して、すぐに変更を取得できますか?

具体的には、HTML解析にHiccupを使用していますが、これは主に、作成しているレイアウトの変更です。

レイアウトの変更が自動的にコンパイルされ、更新時にブラウザで利用できるようになれば、大幅な時間の節約になります。

誰かがそれについて何か情報を持っていますか?解決策はありますか?

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

clojure - compojureでring.middleware.json-paramsを使用しようとしています

私はClojure、leiningen、およびjavaツールチェーンに不慣れです(ただし、lisp、関数型プログラミング、ソフトウェア一般には不慣れです)。CompojureでいくつかのRESTfulWebサービスをブートストラップしようとしています。

の指示に従って、compojureを使い始めるのに問題はありませんでした。

現在、古くなったWebサイトから機能を段階的に追加しようとしています。

leiningen上記の最初のリンクから作業中のプロジェクトから始めます(これは経由で機能しlein ring start、project.cljに1行追加します

それから私は再実行lein depsし、たくさんのものをダウンロードします。プロジェクトはまだ機能しています。今私は1行を追加しhandler.cljます:

そして今、私は

私はツールチェーンに完全に精通しているので、クラスパスを設定または検査する方法やjson_params、leiningenによってデポジットされた場所を見つける方法、さらにはクラスファイル内を調べて名前を見つける方法さえわかりません。 。

この問題の具体的な解決策に加えて、初心者向けのポインタをいただければ幸いです。将来、このような簡単な問題を自分で解決できるかもしれません。

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

clojure - How to test session state with Ring?

I'm trying out Clojure web development with Ring + Compojure + lib-noir, and I can't figure out how to test the session state.

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

clojure - 同じサーバーで複数の Ring アプリを実行するにはどうすればよいですか?

Ring (および Clojure サーバー側プログラミング全般) は初めてです。「開発モード」でうまく機能する Ring ベースのアプリがあります。つまり、リッスンでき、localhost:3000適切に応答します。このアプリのデプロイの一環として、アプリのベース URL を のようなものに変更したいと考えていますmyserver.com/analytics/v1。これにより、たとえば、以前に行ったリクエストが にlocalhost:3000/foo移動するようになりmyserver.com/analytics/v1/fooます。

ここで 2 つの密接に関連する質問があると思います: サーバーのルート URL ではない特定の URL でのみリッスンするように Ring/Jetty に指示するにはどうすればよいですか? myserver.com/analytics/v2また、最初のアプリのダウンタイムなしで別のアプリ (たとえば、) を追加できるように、これをどのように設定できますか? myserver.com/要求をリッスンし、必要に応じて他のアプリにルーティングする別の Ring アプリを作成する必要がありますか?