Python 2 は、コミュニティによるサポートを終了しました。Python 2 アプリを Python 3 に移行することをおすすめします。

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 を使用します。