def __init__(self, body=None, status=None, headers=None, **kwargs): super().__init__({ "body": body if body is not None else self.body, "status": status if status is not None else self.status, "headers": CaseInsensitiveDict(merge_dicts(self.headers, headers)), }) self.update(**kwargs) self.__dict__ = self
def wrapper(request, *args, **kwargs): params = {} for key, value in parse_qs(request.query_string.decode("utf-8")).items(): if len(value) == 1: params[key] = value[0] else: params[key] = value request.params = merge_dicts(getattr(request, "params", None), params) request.query_params = params return func(request, *args, **kwargs)
def wrapper(request, *args, **kwargs): params = {} for key, value in parse_qs( request.query_string.decode("utf-8")).items(): if len(value) == 1: params[key] = value[0] else: params[key] = value request.params = merge_dicts(getattr(request, "params", None), params) request.query_params = params return func(request, *args, **kwargs)
def wrapper(request, *args, **kwargs): ctype, pdict = parse_header(request.headers.get('Content-Type', '')) if ctype == "application/x-www-form-urlencoded": params = {} for key, value in parse_qs(request.body.decode("utf-8")).items(): if len(value) == 1: params[key] = value[0] else: params[key] = value request.params = merge_dicts(getattr(request, "params", None), params) request.form_params = params return func(request, *args, **kwargs)
def wrapper(request, *args, **kwargs): ctype, pdict = parse_header(request.headers.get('Content-Type', '')) if ctype == "multipart/form-data": if isinstance(pdict['boundary'], str): pdict['boundary'] = pdict['boundary'].encode() params = {} mp = MultipartParser(BytesIO(request.body), pdict['boundary']) for part in mp: params[part.name] = { "filename": part.filename, "file": part.file, } request.params = merge_dicts(getattr(request, "params", None), params) request.multipart_params = params return func(request, *args, **kwargs)