def test_make_app(self): # The make_app helper constructs a SmartWSGIApp wrapped in a # RelpathSetter. app = wsgi.make_app(root='a root', prefix='a prefix', path_var='a path_var') self.assertIsInstance(app, wsgi.RelpathSetter) self.assertIsInstance(app.app, wsgi.SmartWSGIApp) self.assertStartsWith(app.app.backing_transport.base, 'chroot-') backing_transport = app.app.backing_transport chroot_backing_transport = backing_transport.server.backing_transport self.assertEndsWith(chroot_backing_transport.base, 'a%20root/') self.assertEqual(app.app.root_client_path, 'a prefix') self.assertEqual(app.path_var, 'a path_var')
def test_make_app(self): # The make_app helper constructs a SmartWSGIApp wrapped in a # RelpathSetter. app = wsgi.make_app( root='a root', prefix='a prefix', path_var='a path_var') self.assertIsInstance(app, wsgi.RelpathSetter) self.assertIsInstance(app.app, wsgi.SmartWSGIApp) self.assertStartsWith(app.app.backing_transport.base, 'chroot-') backing_transport = app.app.backing_transport chroot_backing_transport = backing_transport.server.backing_transport self.assertEndsWith(chroot_backing_transport.base, 'a%20root/') self.assertEqual(app.app.root_client_path, 'a prefix') self.assertEqual(app.path_var, 'a path_var')
import modpywsgi from bzrlib.transport.http import wsgi smart_server_app = wsgi.make_app( root='/srv/www/mumak.net/code', prefix='/code/', path_var='REQUEST_URI', readonly=True) def handler(request): """Handle a single request.""" wsgi_server = modpywsgi.WSGIServer(smart_server_app) return wsgi_server.run(request)