def dispatcher(): d = TreeUrlDispatcher() location = d.add_resource('/', name='root') location.add_route('GET', handler) d.add_route('GET', '/api/', handler) d.add_route('GET', '/api', handler) d.add_route('*', '/api/1/pets', handler) d.add_route('GET', '/api/1/pet/{id}', handler, name='pet') d.add_route('GET', '/api/1/pet/{id}/', handler) return d
async def test_multisubs(dispatcher: TreeUrlDispatcher): url = '/api/1/host/{host}/eth{num}/{ip:[.\d]+}/' dispatcher.add_route('GET', url, handler) request = make_request('GET', '/api/1/host/myhost/eth0/127.0.0.1/') md = await dispatcher.resolve(request) assert len(md) assert 'ip' in md assert 'num' in md assert 'host' in md request = make_request('GET', '/api/1/host/myhost/eth0/127.0.0.1') md = await dispatcher.resolve(request) assert isinstance(md, MatchInfoError)
def test_multisubs(dispatcher: TreeUrlDispatcher): url = '/api/1/host/{host}/eth{num}/{ip:[.\d]+}/' dispatcher.add_route('GET', url, handler) request = make_request('GET', '/api/1/host/myhost/eth0/127.0.0.1/') md = yield from dispatcher.resolve(request) assert len(md) assert 'ip' in md assert 'num' in md assert 'host' in md request = make_request('GET', '/api/1/host/myhost/eth0/127.0.0.1') md = yield from dispatcher.resolve(request) assert isinstance(md, MatchInfoError)
def dispatcher(): d = TreeUrlDispatcher() d.add_route('GET', '/', handler) d.add_route('GET', '/api/', handler) d.add_route('GET', '/api', handler) d.add_route('*', '/api/1/pets', handler) d.add_route('GET', '/api/1/pet/{id}', handler, name='pet') d.add_route('GET', '/api/1/pet/{id}/', handler) return d
def dispatcher(): d = TreeUrlDispatcher() d.add_route('GET', '/', handler) d.add_route('GET', '/api/', handler) d.add_route('GET', '/api', handler) d.add_route('*', '/api/1/pets', handler) d.add_route('GET', '/api/1/pet/{id}', handler, name='pet') d.add_route('GET', '/api/1/pet/{id}/', handler) return d