1

メソッド自体の前に、CherryPy アプリケーションのメソッドの引数をキャッチできるようにしたいと考えています。しかし、CherryPy または標準の python でそれを行う方法があるかどうかはわかりません。次のようになります。

HTTP リクエスト --> 引数をキャッチするパーサー --> リクエストをメソッドに渡す CherryPy

私の目標は、メソッド自体のコードを乱すことなく、サーバーへの入力と出力をキャプチャすることです。

また、CherryPy サーバーへのリクエストを他の CherryPy サーバーにリダイレクトするにはどうすればよいですか?

4

2 に答える 2

1

HTTP リクエストを処理する標準的な Python の方法は WSGI です。WSGI では、WSGI ミドルウェアと呼ばれる処理コンポーネントを積み重ねることができます。これは、フレームワークの内部に到達する前にリクエストを変更できる場所です。CherryPy は WSGI に準拠しているため、ミドルウェアを使用できます。

ただし、CherryPy は単なるフレームワークではなく、Web サーバーでもあります。サーバーとして使用している場合は、おそらくcherrypy.quickstart()呼び出しです。ミドルウェアを追加するには、WSGI アプリを生成するサイト「ツリー」を構築し、アプリをCherryPyWSGIServerクラスに接続するためのコーディングがさらに必要です。この記事はそれをうまく説明しているようです。ただし、いつものように、CherryPy の組み込みサーバーではなく、uWSGI を使用して Python WSGI アプリケーションを実行することをお勧めします。たくさんの機能があり、GIL の問題を克服します。

さらに、ページ ハンドラ/ツールを使用して、実際に処理される前にリクエストを操作できます。ドキュメントを参照してください。

于 2013-11-12T04:49:56.707 に答える