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

clojure - 口ひげ/リングで一般的なルートまたは後続のルートを定義する方法

基本的に同じ機能を指す2つの口ひげルートがありますhttp:// localhosthttp:localhost/ルート-

どうすればいいですか-

  1. ["" "/"]のように、これらのルートの両方を一緒に指定することはできますか?
  2. あるルートから別のルートにリダイレクトすることは可能ですかex[""](リダイレクト "/")?

ありがとう、ムルタザ

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

clojure - 口ひげハンドラーでリクエストマップにアクセス/渡す方法

2つの入力を受け取るハンドラー関数を作成したいと思います。1つはURLから取得したパラメータで、もう1つは/nameクエリ文字列から取得したパラメータです。/name?x=3

ハンドラーが2つのパラメーターを期待しているため、上記は失敗しますが、私は1つしか渡していません。

リクエストマップを取得してハンドラーに渡すにはどうすればよいですか?

上記の場合のリクエストマップには、という名前のパラメータが含まれていxます。

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

clojure - リング アプリで異なるユーザー セッション間で状態を維持する方法

さまざまなブラウザ/ユーザー セッション間で、サーバー上でグローバルな状態を維持する必要があります。

ここでの私の仮定は、リクエストが入ったときに作成されるすべてのアトムなどは、そのリクエストに固有のものであるということです。応答が返されると、その状態はすべて破棄され、メモリが解放されます。間違っている場合は修正してください。

セッション ミドルウェアを使用すると、特定のセッションのリクエスト全体の状態をメモリ内に維持できます。

ただし、複数のユーザー セッションとリクエスト間で状態を維持するにはどうすればよいですか。可能であれば、外部に保存するために memcached / redis などの使用を避けたいと思います。メモリ自体でそれを達成することは可能ですか?

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

deployment - Clojure/Ring: 制御できない Java ビルド プロセスに clojure アプリを統合するにはどうすればよいですか?

私は独特のビルド状況を持っています。私はlein uberwar自分のリング アプリケーションから戦争を構築し、beanstalk にデプロイするために使用しています。これはすべてうまくいっています。ここで、ビルドを管理する svn リポジトリにコードをプッシュする必要があることが要件として出てきますが、これは clojure について何も知りません (Java のみ)。それは巨大な官僚組織であり、その構築プロセスはすでに整っているためlein、サーバーにインストールすることは現在問題外です. lein はフードの下で maven を使用していることを知っているので、これが理論的には機能することはわかっていますが、このプロセスのいくつかのステップについてはまだ疑問があります。

私はlein-ringで war構築プロセスを実行しましたが、主なハングアップは、サーブレットとリスナーのクラスが web.xml と共に生成されることです。このタスクを実行する Java ファイルを提供できると思いますが、それらの Java ファイルに含まれるものと、最終的にプロジェクトの構造内のどこに存在するかについては不明です。究極の戦争で生成される servlet.clj および listener.clj ファイルを見ると、それらは非常に単純に見えますが、この例は既に存在するのでしょうか?

もう 1 つの大きなハードルは、war プロセスがclojure.core/compileプロジェクトの名前空間を呼び出すことです。これにより、clojure ソースからすべてのクラス ファイルが生成されます。Maven からのビルド中にこのコンパイルをトリガーする方法はありますか? 私はコンパイルを clojure.core/compile にファームアウトする Java クラスをほとんど想像していますが、java から clojure を呼び出すことの内外 (通常の流れの方向) や挿入方法についてはよくわかりません。これは、基本的な Maven ビルド プロセスへのステップです。

このいずれかについてどこから始めるべきかについての洞察は大歓迎です! 皆さんありがとう。

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

session - Compojure/Ring: Cookie ストアを使用したセッションがサーバーの再起動後に存続しないのはなぜですか?

現在のユーザーに関連付けられた OAuth トークンを格納するためにリング セッション ラッパーを使用する compojure アプリがあります。サーバーの再起動時にこのトークンを引き続き使用できるようにして、毎回認証プロセスを実行する必要がないようにしたいと思います。

デフォルトのメモリストアの代わりにクッキーストアを使用すると役立つと思いましたが、そうではありません。私は何が欠けていますか?

これは、コードの関連部分です。

この関数root-handlerはトークンを使用して、誰かがログインしているかどうかを判断しますが、セッション情報の方法で何も返しません。

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

clojure - リングアプリで例外をキャッチする慣用的な方法

リング アプリで例外を処理する慣用的な方法は何ですか。例外をキャプチャして 500 ページを返したいと思います。それ、どうやったら出来るの ?

以下のコードに口ひげを使用していますが、機能しません-

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

clojure - Clojure/Ring でバイナリ ファイルを提供すると断続的なエラーが発生する

ClojureでSnowplow用のイベント コレクターを構築しています(Ring/Compojure を使用)。Ring で透明なピクセルを提供する際に問題が発生しています。これは、ピクセルを送信するための私のコードです:

サーバーを起動すると、最初に のパスにヒットしたときにsend-pixel、ピクセルがブラウザに正常に配信されます。しかし、2 回目以降は毎回、Ring は本文を送信しません (そして content-length 0)。サーバーを再起動しても同じパターンです。

そうではないいくつかのこと:

  1. を使用してこれを複製しwget、断続性がブラウザのキャッシュの問題ではないことを確認しました
  2. "R01GOD..."コマンドライン ( ) で base64 文字列を生成したcat original.gif | base64ので、そこに問題がないことがわかります
  3. ピクセルが正常に送信されたら、その内容が正しいことを確認しました ( diff original.gif received-pixel.gif)

私は Clojure を初めて使用します。コードに厄介な動的グレムリンがあると思いますが、それを見つけるのに助けが必要です。

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

clojure - 投稿されたjsonにring format-paramsミドルウェアでアクセスする

clojure でリングを使用して非常に単純な API を作成しようとしています。私は、rack.middleware.format-params ミドルウェアを使用して、出力を json に変換し、json からの入力を clojure データ構造に変換しています。

出力は正常に機能していますが、json を介して送信されたパラメーターにアクセスすることはできません。get リクエストで機能するコードを次に示しますが、POST リクエストで受け取った json を返すことができません

これを返すだけです:{}

私は何を間違っていますか?

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

clojure - Clojureリングのwrap-json-paramsがJSON配列をめちゃくちゃにする

私は現在、clojure でいくつかの REST API を行っています。また、リング.ミドルウェア.フォーマット ライブラリを compojure と共に使用して、JSON を clojure データ構造との間で変換しています。

私は大きな問題を抱えています.JSONがリングアプリに投稿されると、すべての配列が配列内の最初の項目に置き換えられます. IE から投稿されたこの JSON を変換します

これに

配列がルート要素である場合を含め、任意の配列に対してそれを行います。

json を返すために、clojure で次のコードを使用しています。

GET ルートには配列と出力が適切に問題がないため、データまたはwrap-restful-paramsミドルウェアを取得する方法のいずれかである必要があります。

何か案は?

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

http - Noirを使用した基本HTTP認証

noirの使い方を理解し始めたので、http基本認証を使いたいと思います。

https://github.com/adeel/ring-http-basic-authに出くわしました。ただし、与えられた例は、noirではなくcompojureに適用されるようです。

noirの抽象化レベルが高すぎて、異なるページに異なる認証を許可できないのではないかと思います。

http://webnoir.org/tutorials/othersですが、これらのリングハンドラーをどのように適合させるかを確認するために、clojureエコシステム全体にまだ十分に慣れていません。特定のルートのhttp認証として。

この問題についてどう考えるべきかについてのヒントを教えてくれる人はいますか?

ありがとうございました、