問題タブ [plack]
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.
perl - Starman サーバーで Plack::Middleware::Session をどのように使用しますか?
私はStarmanベースのサーバーを持っています -
私自身のミドルウェア「認証」はユーザーを認証し、セッション管理のためにセッション情報(有効期限、セッションキーなど)を返します。では、セッションミドルウェアでこれらの情報をどのように利用できますか?
perl - セッションミドルウェアで Plack 認証を使用するにはどうすればよいですか?
認証ミドルウェアがセッションキーを生成し、認証が成功するとセッション情報をCookieに保存する、認証およびセッションと呼ばれる独自のミドルウェアを作成しています。
上記の Cookie を使用して、Session ミドルウェアはセッション情報を抽出し、セッション管理を実装します。
しかし、どういうわけか、上記のミドルウェアをシリアル化できないため、セッション ミドルウェアの認証ミドルウェアによって作成された Cookie を取得できます。
私は以下のようにそれらを構築しようとしました -
また、認証ミドルウェアは単純にユーザーをデータベースに対して検証し、成功するとセッションキーを生成してCookieに保存します。
セッションミドルウェアは次のようになります -
ミドルウェアと呼んでいる問題はありますか?
perl - Plack と Mojolicious で 502 応答を回避するにはどうすればよいですか?
次のようにプロキシとして機能する Plack の背後で実行する小さな Mojolicious アプリをセットアップしました。
ここでは説明できない理由により、1 日に数回アプリをリロードする必要があるため、(アプリケーションを直接マウントするのではなく) この方法で実行する必要があります。
アプリはヒプノトード上で動作しており、直撃すると大丈夫です。ただし、plack プロキシ経由でヒットすると、502 応答が返されることがよくありますGateway error: Connection timed out
。
面白いことに、1 回か 2 回リロードすると、すべて問題ないように見え、適切な応答が得られます。
誰でもこれを理解するのを助けることができますか?
perl - Plack でバッファリングされていない応答を送信する
大規模な CSV 応答を作成する Perl モジュールのセクションで作業しています。サーバーは Plack で実行されますが、これについては私は専門家ではありません。
現在、私は次のようなものを使用して応答を送信しています:
ただし、そのquery_data
関数は高速ではなく、多くのレコードを取得します。そこでは、各行を連結し$body
、すべての行が処理された後、応答全体を送信しています。
私がこれを好まない理由は 2 つあります。1 つ目は、$body
が破棄されるまで大量の RAM を消費することです。第 2 に、そのメソッドが動作を終了し、実際に$res->body($body)
.
必要なものを見つけずに、ドキュメントでこれに対する答えを見つけようとしました。
また$res->body($row_object->to_csv)
、コールバック セクションを呼び出してみましたが、最後に行った呼び出しのみを送信し$res->body
、以前の呼び出しをすべて上書きしてしまうようです。
各行のコンテンツをフラッシュするPlack応答を送信する方法はありますか?そのため、ユーザーはデータが収集されるとリアルタイムでコンテンツを受信し始め、最初にすべてのデータを蓄積する必要はありませんか?
コメントをお寄せいただきありがとうございます。
nginx - uWSGI で Perl Dancer 環境を設定する方法 (nginx で使用)
本番環境で Perl Dancer アプリを起動しようとしています。
次のように uWSGI を呼び出しています。
アプリが読み込まれて実行される間、環境がまったく設定されないため (デフォルトの開発環境でさえも)、エラーが発生します。
これらは機能していないようです:
参考までに、これはplackupとstarmanを使用して機能します:
http://uwsgi-docs.readthedocs.org/en/latest/Options.htmlを読みまし たが、Python のような Dancer 固有の環境設定はないようです。
考え?事前にthx!
perl - Plack::Builder で「ホスト」をマウントします
Plack::Builderの概要とこの回答には次のように書かれています。
私は次のことを試しました:
しかし、それを実行しようとすると、plackup
次のようになりました。
/tmp/app.psgi の読み込み中にエラーが発生しました: パスは、/home/cw/.anyenv/envs/plenv/versions/5.20.3/lib/perl5/site_perl/5.20.3/Plack/Builder.pm で / で始まる必要があります108行目。
なにが問題ですか?