def parse_args(self, req=None, strict=False, http_error_code=<NUM_LIT>):
if req is None:<EOL><INDENT>req = request<EOL><DEDENT>namespace = self.namespace_class()<EOL>req.unparsed_arguments = dict(self.argument_class('<STR_LIT>').source(req)) if strict else {}<EOL>errors = {}<EOL>for arg in self.args:<EOL><INDENT>value, found = arg.parse(req, self.bundle_errors)<EOL>if isinstance(value, ValueError):<EOL><INDENT>errors.update(found)<EOL>found = None<EOL><DEDENT>if found or arg.store_missing:<EOL><INDENT>namespace[arg.dest or arg.name] = value<EOL><DEDENT><DEDENT>if errors:<EOL><INDENT>flask_restful.abort(http_error_code, message=errors)<EOL><DEDENT>if strict and req.unparsed_arguments:<EOL><INDENT>raise exceptions.BadRequest('<STR_LIT>'<EOL>% '<STR_LIT:U+002CU+0020>'.join(req.unparsed_arguments.keys()))<EOL><DEDENT>return namespace<EOL>
Parse all arguments from the provided request and return the results
        as a Namespace

        :param req: Can be used to overwrite request from Flask
        :param strict: if req includes args not in parser, throw 400 BadRequest exception
        :param http_error_code: use custom error code for `flask_restful.abort()`