問題タブ [mojolicious]
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 - Mojoliciousコントローラーユニットテストでパラメーターとしてファイルを渡す
ファイルアップロードアプリケーションがあります。コントローラをテストしたいUpload
。そのために、ファイルをテストに渡すにはどうすればよいですか?私のアプリケーションでのファイルのアップロードには、外部アプリケーション/プラグイン(Flash / HTML5 / HTML4)を使用します。
perl - Mojolicious テストとプラックアップ ライブ ランが異なる
テストを実行すると、次のようになることがあります。
Mojoのドキュメントでは、追加を推奨しているようです
ただし、これをプログラムに追加しようとすると、plackup
実行インスタンスでこのエラーが発生します
これがタイムアウトする理由として考えられるのは、LWP を使用するクライアント ライブラリを介して実行されている HTTP 要求が非常に遅いためです (実際のコードを変更せずに、 LWP をAnyEvent::HTTP::LWP::UserAgentに置き換えてみましたが、別のユーザーエージェントを渡すだけです)
テストで接続を実行し続けるために何をしようとしているのか疑問に思っています.chromeを介したライブリクエストに問題はないようです.それとも完全に別の方向を見るべきですか?
perl - モジョリシャス - ヒプノトードでアプリを起動できない
タイトルの通りで、理由がわかりません。作業ディレクトリに hypnotaod.pid ファイルが表示されるだけです。実行中のプロセスはなく、定義されたポートで何もリッスンしていません。また、morbo ではすべて正常に動作します。
編集:私はスタートアップをたどりました、 http: //pastebin.com/YWUSeMuu
EDIT2: 上記の strace 出力を調べた後、hypnotad が別の「.pl」をスクリプト ファイルに追加しているようです。ファイル名を myapp に変更し、すすぎ、繰り返しますhttp://pastebin.com/NVK2rhu4
どんなアイデアでも大歓迎です。
今までのコードは単なるチュートリアルのテストコードです
perl - Mojolicious がルートをネストするのはなぜですか?
私の Mojolicious アプリケーションには、いくつかのカスタム認証メカニズムがあり、次のルーティング条件で実装していますauth_permission
。
したがって、私のルートは次のようになります。
to()
句は正しく処理されます。GET /objects
オブジェクト リストが表示され、GET /objects/delete/42
オブジェクト 42 が削除されます。
問題はview objects
、2 番目のルートでパーミッションをチェックする必要があるにもかかわらず、両方のリクエストでパーミッションがチェックされることdelete objects
です。
その理由/objects/delete/42
は、以下のパスにあるよう/objects
です。/prefs
他のルートと共通のベースを持たないルートでは、同様の問題は発生しません。
私の現在の回避策は、 のルールを のルールの/objects
下に配置することです/objects/delete/:id
が、それは a) 洗練されておらず、b) 別の開発者がファイルを編集すると壊れる可能性があります。この場合に見られるネスト動作を明示的に無効にすることはできますか?
perl - UTF8文字列が部分的に認識されない
SQLite3データベースからキリル文字をフェッチすると、perl(またはMojolicious、またはDBIx :: Class-正直なところわかりません)がバイトストリームのデコードに失敗する場合があります。たとえば、次のテキストがあります。
出力は次のようになります。
なぜこうなった?これを修正する方法は?
更新:この問題の原因を追跡することができました。不正な形式の文字列がWebページのユーザー入力から取得され、パラメーターとしてコントローラーアクションにディスパッチされているようです:コードはこちら。
保存アクションを実行すると、次のログが生成されます。
更新2:開発サーバーとしてMorboを使用しており、アプリケーションレイアウトにmeta
ヘッダーが含まれています。
更新3:奇妙ですが、文字列が正しくエンコードされて表示される場合があります。
同じことを2回行うと、次のようになります。
perl - Mojolicious Template のカバレッジをテストする
ガリレオを書くにあたり、私はいくつかのロジックをテンプレート ( .html.ep
) に入れました。そのために、これらのファイルをテスト カバレッジ分析に含めることができるかどうか疑問に思っています。
私はいくつかのことを試しましたが、最も有望だったのは
しかし、これらのファイルはまだ含まれていません。おそらくそれは不可能ですが、誰かがいくつかのアイデアを持っているかもしれません。
perl - Perl subの戻り値をarrayrefに変換するにはどうすればよいですか?
私は次のようなコードを試します:
getRowsはサブ関数名であり、コードはテンプレートで機能します。$rowsは配列です。
私は次のようなコードを書きます:
$ rowsはREFです、それは間違っています。
このようなコードを書く場合:
$ rowsはハッシュです、それは間違っています。
2行のコードを1つに書く方法はありますか?
perl - Mojolicious ルートに複数の over メソッドを追加するにはどうすればよいですか?
次のコードがあります。
そのルートを考えると、Mojolicious::Plugin::Authentication を使用してセットアップされた認証済みチェックを通過するユーザー ルートに到達できます。
そのルートに別の「オーバー」を追加したい。
ただし、認証された「オーバー」をオーバーライドするようです。
次のような名前でルートを分割してみました。
しかし、それはまったく機能しませんでした。どちらのオーバーもアクセスされていません。
私のルートは、MojoX::JSON::RPC::Service を使用して設定された /user、/item などです。したがって、サブルートを設定するための /user/:id のようなものはありません。
次のような条件があります。
$r->route('/user')->over(access => 1); の 'access' です。
つまり、以下を使用すると、ルートは正常に機能します。
しかし、2 番目のルートを追加できません。
では、これらのルートを複数の条件で設定する際に何が欠けているのでしょうか? 単一のルート /route_name に複数の条件を追加することはできますか?
perl - Mojolicious ブリッジ使用時の深層再帰
Mojolicious ブリッジを定義しました
そして、私はこのようなルートを定義しています
アプリを起動すると、エラー Deep recursion on subroutine "Mojolicious::Routes::Route::AUTOLOAD" at /usr/local/share/perl5/Mojolicious/Routes/Route.pm line 23 が表示されます。
ここで何が起こっているのかわかりません。誰でも私を助けることができますか?
ありがとう!
perl - Mojolicious UA で基本認証の失敗を引き起こすパスワードの特殊文字
次のプログラムは、基本認証を必要とする https Web サイトにアクセスしようとすると失敗します。
MOJO_USERAGENT_DEBUG=1 で実行すると、次の出力が得られます。
CPAN から更新された Mojolicious 3.35 を使用します。残念ながら、パスワードには「特殊文字」 (ascii #!@%^& など) が含まれている可能性が高く、パスワードを # を含まないものに変更することはできません。Web サーバーは Web ブラウザーで要求を正しく処理するため、Web サーバーの構成の問題ではないと思います。
Mojoでこれを達成する別の方法はありますか?