問題タブ [rack]

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 投票する
3 に答える
1031 参照

ruby-on-rails - Rails/Rackアプリケーションに接続を切断するようにWebサーバーに指示させる方法はありますか

応答なしでHTTP接続をドロップしたい理由は多くのセキュリティ上の理由があります(たとえば、OWASPのSSLのベストプラクティス)。これらがサーバーレベルで検出できる場合、それは大したことではありません。ただし、この状態をアプリケーションレベルでしか検出できない場合はどうなるでしょうか。

Rails、またはより一般的にはRackには、応答なしで接続を切断するようにサーバーに指示する標準的な方法がありますか?そうでない場合は、一般的なWebサーバー(NginxまたはApacheを考えています)でそれを実現するために渡す標準ヘッダーはありますか?標準ヘッダーがない場合でも、その動作を構成するための合理的な方法はありますか?これはばか者の用事ですか?

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

java - Android/Rails マルチパートアップロードの問題

私の問題は、画像といくつかのテキスト値を Rails サーバーにアップロードしようとすると、テキスト値が param 値だけではなくファイルになってしまうことです。

投稿がサーバー上でどのように見えるか

アンドロイドコードの一部

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

ruby - Ruby Rack: startup and teardown operations (Tokyo Cabinet connection)

I have built a pretty simple REST service in Sinatra, on Rack. It's backed by 3 Tokyo Cabinet/Table datastores, which have connections that need to be opened and closed. I have two model classes written in straight Ruby that currently simply connect, get or put what they need, and then disconnect. Obviously, this isn't going to work long-term.

I also have some Rack middleware like Warden that rely on these model classes.

接続の開閉を管理する最良の方法は何ですか? 私が知っているように、ラックは起動/シャットダウンフックを提供しません。env の TC/TT オブジェクトへの参照を提供するミドルウェアを挿入することを考えましたが、それを Sinatra 経由でモデルにパイプする必要があり、これも効率的ではないようです。そして、それは TC へのリクエストごとの接続になるだけです。サーバーインスタンスごとのライフサイクルがより適切な寿命になると思います。

ありがとう!

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

ruby-on-rails - Rails Metal (& Rack) はトラフィックの多い Web サービス API を実装する良い方法ですか?

私は非常に典型的な Web アプリケーションに取り組んでいます。ユーザー エクスペリエンスの主要コンポーネントは、サイトの所有者がフロント ページにインストールするウィジェットです。フロント ページが読み込まれるたびに、ウィジェットはサーバーと通信し、返されたデータの一部を表示します。

したがって、この Web アプリケーションには 2 つのコンポーネントがあります。

  1. サイト所有者がウィジェットを構成するために使用するフロント エンド UI
  2. ウィジェットの Web API 呼び出しに応答するバックエンド コンポーネント

以前は、これらすべてを PHP で実行していました。現在、Rails を試しています。これは 1 番目 (フロント エンド UI) にとって素晴らしいものです。問題は、#2 のウィジェット情報のバック サービングを効率的に行う方法です。クライアントの Web サイトの 1 つでフロント ページが読み込まれるたびに呼び出されるため、明らかにこれはフロント エンドよりもはるかに高い負荷です。

2 つの明白なアプローチを見ることができます。

A.並列スタック: Rails 以外のもの (たとえば、古い PHP ベースのアプローチ) を使用する並列スタックをセットアップしますが、フロント エンドと同じデータベースにアクセスします。

B. Rails Metal : Rails Metal/Rack を使用して Rails ルーティング メカニズムをバイパスしますが、API コール レスポンダーは Rails アプリ内に保持します。

私の主な質問:

  1. Rails/Metal は、このようなものに対する妥当なアプローチですか?

だけでなく...

  1. Rails 環境をロードするオーバーヘッドは依然として大きすぎますか?
  2. ほとんどの環境をバイパスして、Rails を使用して金属にさらに近づく方法はありますか?
  3. Rails/Metal のパフォーマンスは、単純な PHP での同様のタスクのパフォーマンスに近づきますか?

と...

  1. AとBの両方よりもはるかに優れた「C」オプションはありますか? つまり、バイナリにコンパイルされ、nginx または apache モジュールとしてインストールされる C コードの長さに進む前に何か?

洞察を事前に感謝します。

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

ruby - body_streamとパラメーターを使用したPOSTリクエスト

ある種のプロキシを構築しています。
ラックアプリケーションでURLを呼び出すと、そのリクエストを別のURLに転送します。

私が転送するリクエストは、ファイルといくつかのパラメーターを含むPOSTです。
パラメータを追加したい。
ただし、ファイルはかなり大きくなる可能性があります。だから私はNet::HTTP#body_streamの代わりにそれを送りますNet::HTTP#body

リクエストをオブジェクトとして取得し、Rack::Requestそれを使用してNet::HTTPオブジェクトを作成します。

プロキシのパラメータを追加するいくつかの方法を試しました。しかし、Net :: HTTPでは、body_streamリクエストにパラメータを追加することはできず、本文のリクエストにのみ追加できるようです。

そのようなラックリクエストをプロキシする簡単な方法はありますか?または、リクエストにパラメータを追加するクリーンな方法はありますか?

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

sinatra - Rack :: Reloaderがhamlファイルへの変更を再ロードするにはどうすればよいですか?

私のjrubyracksinatra compass hamlアプリは、*。rbファイルへの変更を正しくリロードしますが、*。hamlファイルへの変更を検出しません。

このコンパスは、Rack :: Reloaderのキャッシュまたは制限を実行していますか?修正方法へのポインタはありますか?

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

ruby-on-rails - Rails アプリケーションを IronRuby ラックで実行する

アイアンルビーで遊んでいる人はいますか?

IIS 5.1 のローカル マシンで IronRuby.Rails.Example プロジェクトを実行することに成功しました。私は現在、自分のデモ レール サイトを同じ方法で実行しようとしています。

私の web.config は、サンプル プロジェクトとは少し異なります。IronRuby 1.0 で配布されたものと、gem を使用してインストールしたもののみを使用しようとしています。

次のエラーが表示されますが、これでは多くのことができません。

D:/demo/config/boot.rb:66:in `exit': 終了 (SystemExit)

いろいろ試してみた結果、宝石を見つけるのに問題があると思います。Web 構成と ironrack.log を添付しました。私が間違っていることについて誰かが指摘していますか?

ありがとう!

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

ruby-on-rails - IronRuby.Rack アセンブリの読み込みに関する問題

私は iis7 サーバー 2k8 で IronRuby on Rails を実行しようとしていますが、アセンブリ 'IronRuby.Rack' (スクリーン ショット: http://grab.by/3VZm ) をロードできない限りしか取得できません。? あなたが私に与えることができるヒントはありますか?

ありがとう、-CJ

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

session - curl を使用して Sinatra アプリに Cookie を渡すにはどうすればよいですか?

このチュートリアルhttp://rubylearning.com/blog/2009/09/30/cookie-based-sessions-in-sinatra/の「A Slightly Bigger Example」というタイトルの例のコードを使用して、 Sinatra アプリケーションに Cookie を送信しますが、値を正しく設定する方法がわかりません

アプリケーションで名前を「brandon」に設定すると、値のBAh7BiIJdXNlciIMYnJhbmRvbg%3D%3D%0AURL エンコード ( http://ostermiller.org/calc/encode.html ) である値を持つ Cookie が作成されます。BAh7BiIJdXNlciIMYnJhbmRvbg==

その値を使用して、Cookie をアプリに正しく送信できます

ドキュメント( http://rack.rubyforge.org/doc/classes/Rack/Session/Cookie.html)が言うので、値はセッションのルビーハッシュのbase64エンコーディングであると確信しています

セッションは、:key (デフォルト: rack.session) に設定された base64 でエンコードされたマーシャリングされたデータとして格納された Ruby ハッシュです。

つまり、base64 でエンコード{"user"=>"brandon"}して curl コマンドで使用するだけで済みます。残念ながら、それは とは異なる価値を生み出しますBAh7BiIJdXNlciIMYnJhbmRvbg==。次に、base64 でエンコードされた値を取得し、さまざまな base64 デコーダーでオンラインでデコードしようとしましたが、奇妙な文字 (ボックス記号など) になるため、値を再作成してエンコードする方法さえわかりません。

だから私の質問は、適切なbase64エンコーディングを取得するために必要な文字/形式を知っていますか、および/またはcurlを使用して値を渡し、Sinatraアプリの適切なCookieとして登録する別の方法を知っていますか?

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

ruby - シン、シナトラ、およびCAS認証を行うための静的ファイル要求のインターセプト

CAS認証にcasrack-the-authenticatorgemを使用しています。私のサーバーはSinatra上でThinを実行しています。CAS認証ビットが機能するようになりましたが、CASログインを確認するために「/index.html」リクエストをインターセプトするようにRackに指示する方法がわかりません。ユーザーがページの表示を許可されていない場合は、HTTPを返します。実際のページを提供する代わりに403応答。誰かがこれを経験したことがありますか?ありがとう。

私のアプリ:

私のラックアップファイル:

Rackにファイルサービスの認証を理解させる最初の試み(コメントや考えを歓迎します):