def test_add_slash_redirect(self): app = Application({}) factory = lambda *args: type('Resource', (), {'GET': None}) app.mount_resource('test', factory, '/some/dir', add_slash=True) # Should not redirect next_handler = lambda app_, request_: 'NEXT' request = app.make_blank_request('/some/dir/') self.assertEqual(resource_finder(app, request, next_handler), 'NEXT') # Should redirect request = app.make_blank_request('/some/dir') try: resource_finder(app, request, next_handler) except Exception as exc: self.assertTrue(exc.status.startswith('3')) self.assertTrue(exc.location.endswith('/some/dir/'))
def setUp(self): app = Application({}) app.mount_resource('test', TestResource, '/test') self.app = app
# Make a request to the root of the example app after it's created. print('Example request and response:\n') request = event.app.make_blank_request('/') response = event.app.handle_request(request) print(request, response, sep='\n\n') if __name__ == '__main__': settings = { 'debug': True, 'tangled.app.on_created': [on_created], 'tangled.app.defer_created': True, } app = Application(settings) app.mount_resource('home', Home, '/') # Greet user with "Hello" by default. The user's name must be passed # as a URL arg. A different greeting can be passed as the greeting # query parameter. app.mount_resource('hello', Hello, '/hello/<name>') # Greet with a specific greeting. Both the user's name and the # greeting must be passed as URL args. app.mount_resource('greet', Hello, '/greet/<name>/<greeting>') # Fire on-created event to initiate the example request. app.created() server = make_server('0.0.0.0', 6666, app) server.serve_forever()
def setUp(self): app = Application('tangled.web.tests:test.ini') app.mount_resource('user', UserResource, '/users/<id>') self.app = TestApp(app) self._original_data = copy.deepcopy(Users.data)
def setUp(self): app = Application({}) app.mount_resource('test', TestResource, '/test') self.app = app
from wsgiref.simple_server import make_server from tangled.web import Application, Resource class Hello(Resource): def GET(self): if 'name' in self.urlvars: content = 'Hello, {name}'.format(**self.urlvars) else: content = 'Hello' return content if __name__ == '__main__': settings = { 'debug': True, } app = Application(settings) app.mount_resource('hello', Hello, '/') app.mount_resource('hello_name', Hello, '/<name>') server = make_server('0.0.0.0', 6666, app) server.serve_forever()
def setUp(self): app = Application({}) app.mount_resource('home', TestResource, '/') app.mount_resource('catch-all-single-segment-paths', TestResource, '/<x>', methods='GET') app.mount_resource('a', TestResource, '/a') app.mount_resource('b', TestResource, '/b/') app.mount_resource('abc', TestResource, '/a/b/c') app.mount_resource('abc_any', TestResource, '/<a>/<b>/<c>') app.mount_resource('xyz', TestResource, '/x/<y>/z', methods='GET') app.mount_resource('xkz', TestResource, '/x/k/z') app.mount_resource('y_get', TestResource, '/y', methods='GET') app.mount_resource('y_post', TestResource, '/y', methods='POST') app.mount_resource('cached', TestResource, '/cached') self.app = app
def make_app(settings): """Configure ${package_name}.""" app = Application(settings) app.mount_resource('home', '.resources:Hello', '/', methods='GET') app.mount_resource('hello', '.resources:Hello', '/<name>', methods='GET') return app