問題タブ [spray]
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.
http - スプレー フレームワークで着信 IP アドレスを取得する方法
入ってくるヘッダーを見ていますが、そこに IP がないようです:
これは私がブラウザから行ったリクエストです。基本的に私は探しています:
ここで、リクエスト オブジェクトには IP アドレスに関する情報がありません。どんな助けでも大歓迎です。ありがとう。
scala - スプレールーティングでuriの一部を抽出する方法
REST サービスを作成したいのですが、ユーザー アカウントへのパスはid
プレフィックスで始まる必要がありますが、パス自体の一部として、次のようにします。
PathMatcher で遊んでみましたが、成功しませんでした。どうすれば2314234
uri から抽出できますか?
performance - 最も効率的な方法で 1000 のドメインから毎日 1000 万以上のページをクロールするために使用できる scala または Java ライブラリはどれですか
ウェブクローラーを作っています。私は既に scala チュートリアルの scale-out-with-scala-and-akkaとSprayのような非同期 http クライアントを試しましたが、うまく動作させることができません。今のところ、パフォーマンスは私にとって最も重要な部分ではありませんが、後でライブラリを変更せずに req/s 比率を簡単に改善したいと考えています。
ライブラリは http ヘッダーで動作できる必要があり、dns 解決でパフォーマンスの問題が発生することはありません。タスクに最適なライブラリはどれですか?
scala - 非同期実行のための scalaz Future の正しい使い方
私は、scalaz Futures がどのように機能するかを完全には理解していないと思います。あるプロジェクトをscala futuresからscalazの実装に移植しようとしているのですが、問題はscalaz Futureの方がパフォーマンスが低いことです。最も単純な例は、Spray を使用した認証要求でプロファイルをロードすることです。
関数自体:
scalaz のバージョンは 1 つのシンボルだけが異なりFuture.apply
ますscalaz.concurrent
。そして今、いくつかのhtmlページをロードするSprayルート:
と同様にloadProfile
、scalaz のバージョンはメソッド呼び出しのみが異なります。
しかし、scala Future バージョンのリクエストは (約) 143msで完了しますが、scalaz バージョンは260msで完了します。だから私はこの特定の要求についてはあまり心配していませんが、非同期実行と一般的なサービスのスケーラビリティについては、scalaz Future で理解しているように、実行を別のスレッドに手動でフォークする必要があるため、順次実行されますか? scalaz Future の使用法についての良いイントロ/チュートリアルはありますか?
scala - スプレーでのルーティング設計
プロファイル管理用の休憩サービスを作ろうとしています。したがって、プロファイルには次の uri があります。
しかし、さまざまなダッシュボードを持つさまざまなユーザー向けにさまざまなプロファイル タイプがあるため、トップ パスとしてprofileType
と を抽出し、この下でさまざまなアクションを操作したいと考えています。id
私はDRYの方法でそれを書き込もうとしました:
しかし、アドレスバーに次のように入力すると:
サーバー例外をスローします。どうしたの?
scala - Cookie と BASIC 認証を一緒に使用するにはどうすればよいですか?
Cookie と基本認証を組み合わせて使用しています。ベーシック認証では、関数がかかります
を返しますDirective[T]
。
関数を取る Cookie にディレクティブを作成したい
を返しますDirective[T]
。
したがって、 の auth ディレクティブを組み合わせて実行できますcookieAuth | basicAuth
。
私が得ることができる最も近いものは次のとおりです。
しかし、署名は一致しません。私は例外を受け取ります:
json - 高度にスケーラブルで効率的な残りの json 処理には、スプレーまたはプレイを使用する必要がありますか?
非常に効率的で高スループットの REST json サーバーには、play と Spray のどちらを使用する必要がありますか? REST と Web 開発の両方に単一のフレームワークを使用できるようになるため、play を使用します。ただし、スプレーがこれよりもはるかに効率的である場合は、スプレーを使用します.
私はすぐに遊びに行きますが、スプレーがリストの上位にあり、遊びが一番下にあることがわかりました。
どう思いますか?
scala - ロギングの例外を特定するScala Spray
スプレーでリクエスト/レスポンスのロギングを実装しようとしています。これで、ユーザー (解決された場合) や、さまざまなコマンドやクエリをログに記録するときに使用される単なる UUID である transactionId など、ログに含めたい追加の変数がいくつかあるので、それらをすべてリンクできます。
例外がスローされた場合は、カスタム ExceptionHandler に入ります。これは RequestContext への参照のみを持ち、ログに記録したい追加のプロパティへの参照はありません。
コンテキストで使用できる一意の識別子はありますか、または ExceptionHandler で追加の値を渡す方法はありますか?