This module contains classes that publish a Google Protocol RPC service as a WSGI application.
The protorpc.wsgi.service
package provides the following functions:
- service_mapping(service_factory, service_path=r'.*', protocols=None)
-
Creates a WSGI application that handles a single Google Protocol RPC service mapping.
Arguments- service_factory
- The service class or service factory for creating new instances of the service. For more information about service factories, please see remote.Service.new_factory.
- service_path=r'.*'
- The path where the service resides.
- protocols=None
- A remote.Protocols instance that configures supported protocols on the server.
Returns a WSGI application that handles a single Google Protocol RPC service mapping.
- service_mappings(services, registry_path=DEFAULT_REGISTRY_PATH)
-
Creates a WSGI application with multiple service mappings with an optional registry service. For example:
from protorpc import remote from protorpc.wsgi import service package = 'my_package' class MyService(remote.Service): ... class MyOtherService(remote.Service): ... app = service.service_mappings( [('/my_path', MyService), # Maps to /my_path ('/my_other_path', MyOtherService), # Maps to /my_other_path ])
Services are mapped to URL paths by specifying a tuple (path, service), where path is the path where the service resides, and service is the service class or service factory for creating new instances of the service. For more information about service factories, please see remote.Service.new_factory. Arguments
- services
- A list of tuples (path, service), where
path
is the path where the service resides, andservice
is the service class or service factory for creating new instances of the service. For more information about service factories, please see remote.Service.new_factory. - registry_path=DEFAULT_REGISTRY_PATH
- Path to provide to the registry service. Use None to disable registry service.
Returns a WSGI application with multiple service mappings with an optional registry service.
Raises a
ServiceConfigurationError
when duplicate paths are provided.