def test_get_name_from_request(): req = Request(path='/', method='GET') assert get_name_from_request(req) == 'get_root' req = Request(path='/the/world', method='PUT') assert get_name_from_request(req) == 'put_the_world' for invalid_char in INVALID_CHARS: assert( get_name_from_request( Request( path='/bad_{0}_trailing'.format(invalid_char), method='GET' ) ) == 'get_bad_trailing' )
def prepare(self, records): cases = [] func_names = defaultdict(int) endpoint = self.options.get('endpoint', None) ignore_all_headers = self.match_options.get('ignore_all_headers', None) ignore_headers = self.match_options.get('ignore_headers', None) if not ignore_all_headers and ignore_headers: ignore_headers = set(map(lambda h: h.upper(), ignore_headers)) for (req, res) in records: func_name = get_name_from_request(req) count = func_names[func_name] func_names[func_name] = count + 1 if count > 0: func_name = '{}_{}'.format(func_name, count) if ignore_all_headers: content_type = res.get_header('content-type') if content_type: res.headers = {'content-type': content_type} else: res.headers = {} elif ignore_headers: res.headers = {k: v for k, v in res.headers.items() if k.upper() not in ignore_headers} case_info = dict(request=req, response=res, func_name=func_name) cases.append(case_info) return cases
def prepare(self, records): cases = [] func_names = defaultdict(int) endpoint = self.options.get('endpoint', None) ignore_all_headers = self.match_options.get('ignore_all_headers', None) ignore_headers = self.match_options.get('ignore_headers', None) if not ignore_all_headers and ignore_headers: ignore_headers = set(map(lambda h: h.upper(), ignore_headers)) for (req, res) in records: func_name = get_name_from_request(req) count = func_names[func_name] func_names[func_name] = count + 1 if count > 0: func_name = '{}_{}'.format(func_name, count) if ignore_all_headers: content_type = res.get_header('content-type') if content_type: res.headers = {'content-type': content_type} else: res.headers = {} elif ignore_headers: res.headers = { k: v for k, v in res.headers.items() if k.upper() not in ignore_headers } case_info = dict(request=req, response=res, func_name=func_name) cases.append(case_info) return cases
def dispatch_request(self, request): handler = getattr(self, get_name_from_request(request), None) if handler: return handler(request) else: return Response("non route", status=404)
def test_get_name_from_request(): req = Request(path='/', method='GET') assert get_name_from_request(req) == 'get_root' req = Request(path='/the/world', method='PUT') assert get_name_from_request(req) == 'put_the_world'
def dispatch_request(self, request): handler = getattr(self, get_name_from_request(request), None) if handler: return handler(request) else: return Response("non route", status=404)