WebApp サービス ハンドラ

この機能は非推奨です。サービスを WSGI アプリケーションとして公開するには、新しい WSGI サービス ライブラリを使用する必要があります。

このモジュールに含まれているクラスにより、App Engine Webapp フレームワークを使って Google Protocol RPC サービスを公開します。

protorpc.webapp.service_handlers パッケージは、次の関数を提供します。

service_mapping(services, registry_path=DEFAULT_REGISTRY_PATH)

webapp で使用するためのサービス マッピングを作成します。

Google Protocol RPC サービス用の基本的なデフォルトの設定と登録情報を作成します。サービス マッピングにリストされた各サービスには、そのサービス用に作成された標準のサービス ハンドラ ファクトリがあります。

マッピングのリストは、サービス マッピングへの明示的なパスとすることも、単なるサービスとすることもできます。マッピングが単なるサービスである場合、サービスはデフォルトの名前に自動的にマッピングされます。次に例を示します。

from protorpc import remote
from protorpc.webapp import service_handlers

package = 'my_package'

class MyService(remote.Service):
  ...

service_handlers.service_mapping(
    [('/my_path', MyService),  # Maps to /my_path
     MyService,                # Maps to /my_package/MyService
    ])

通常、サービスは、タプル(path, service)を指定して、URL パスにマッピングされます。path は、サービスが配置されている場所のパスです。service は、サービスの新しいインスタンスを作成するためのサービスクラスまたはサービス ファクトリです。サービス ファクトリの詳細については、remote.Service.new_factory をご覧ください。

タプルが指定されていない場合、つまりパスが指定されていない場合には、デフォルトのパスは、それぞれの構成要素について「.」の代わりに URL パス区切り記号を使用した、完全修飾サービス名を使用して計算されます。

引数
services
タプル(path, service)。path は、サービスが配置されている場所のパスです。service は、サービスの新しいインスタンスを作成するためのサービスクラスまたはサービス ファクトリです。サービス ファクトリの詳細については、remote.Service.new_factory をご覧ください。
registry_path=DEFAULT_REGISTRY_PATH
レジストリ サービスに対して指定するパス。レジストリ サービスを無効にする場合は、None を使用します。

WebApp アプリケーションと互換性のあるリクエスト ハンドラのマッピングを定義するタプルのリストを返します。

重複したパスが指定された場合は、ServiceConfigurationError が発生します。

run_services(services, registry_path=DEFAULT_REGISTRY_PATH)

サービス マッピングを使用して CGI リクエストを処理します。

引数
services
タプル(path, service)。path は、サービスが配置されている場所のパスです。service は、サービスの新しいインスタンスを作成するためのサービスクラスまたはサービス ファクトリです。サービス ファクトリの詳細については、remote.Service.new_factory をご覧ください。
registry_path=DEFAULT_REGISTRY_PATH
レジストリ サービスに対して指定するパス。レジストリ サービスを無効にする場合は、None を使用します。