Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Request Parser Failing when calling with latest version of axios - 0.21.3 #925

Open
pavs94 opened this issue Sep 4, 2021 · 3 comments
Open

Comments

@pavs94
Copy link

pavs94 commented Sep 4, 2021

from flask_restful import reqparse

parser = reqparse.RequestParser()
parser.add_argument('exchId',type=int, help='Missing param: exchId (int)', required="true")
parser.add_argument('side',type=str, help='Missing param: side (str)', required="true")
parser.add_argument('symbol',type=str, help='Missing param: symbol (str)', required="true")
parser.add_argument('order_type',type=str, help='Missing param: order_type (str)', required="true")
parser.add_argument('qty',type=float, help='Missing param: qty (float)', required="true")
parser.add_argument('time_in_force',type=str, help='Missing param: time_in_force (str)', required="true")

args = parser.parse_args()
exchId=args["exchId"]
side=args["side"]
symbol=args["symbol"]
order_type=args["order_type"]
qty=args["qty"]
time_in_force=args["time_in_force"]

This sample code has been working for me in a deployed app. today all of a sudden, the app returns

 File "C:\Users\myUser\Desktop\myApp\Lib\site-packages\flask\app.py", line 2464, in __call__
    return self.wsgi_app(environ, start_response)
  File "C:\Users\myUser\Desktop\myApp\Lib\site-packages\flask\app.py", line 2450, in wsgi_app
    response = self.handle_exception(e)
  File "C:\Users\myUser\Desktop\myApp\Lib\site-packages\flask_restful\__init__.py", line 272, in error_router
    return original_handler(e)
  File "C:\Users\myUser\Desktop\myApp\Lib\site-packages\flask_cors\extension.py", line 161, in wrapped_function
    return cors_after_request(app.make_response(f(*args, **kwargs)))
  File "C:\Users\myUser\Desktop\myApp\Lib\site-packages\flask\app.py", line 1867, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "C:\Users\myUser\Desktop\myApp\Lib\site-packages\flask\_compat.py", line 38, in reraise
    raise value.with_traceback(tb)
  File "C:\Users\myUser\Desktop\myApp\Lib\site-packages\flask\app.py", line 2447, in wsgi_app
    response = self.full_dispatch_request()
  File "C:\Users\myUser\Desktop\myApp\Lib\site-packages\flask\app.py", line 1952, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "C:\Users\myUser\Desktop\myApp\Lib\site-packages\flask_restful\__init__.py", line 272, in error_router
    return original_handler(e)
  File "C:\Users\myUser\Desktop\myApp\Lib\site-packages\flask_cors\extension.py", line 161, in wrapped_function
    return cors_after_request(app.make_response(f(*args, **kwargs)))
  File "C:\Users\myUser\Desktop\myApp\Lib\site-packages\flask\app.py", line 1821, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "C:\Users\myUser\Desktop\myApp\Lib\site-packages\flask\_compat.py", line 38, in reraise
    raise value.with_traceback(tb)
  File "C:\Users\myUser\Desktop\myApp\Lib\site-packages\flask\app.py", line 1950, in full_dispatch_request
    rv = self.dispatch_request()
  File "C:\Users\myUser\Desktop\myApp\Lib\site-packages\flask\app.py", line 1936, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "C:\Users\myUser\Desktop\myApp\Lib\site-packages\flask_restful\__init__.py", line 468, in wrapper
    resp = resource(*args, **kwargs)
  File "C:\Users\myUser\Desktop\myApp\Lib\site-packages\flask\views.py", line 89, in view
    return self.dispatch_request(*args, **kwargs)
  File "C:\Users\myUser\Desktop\myApp\Lib\site-packages\flask_restful\__init__.py", line 583, in dispatch_request
    resp = meth(*args, **kwargs)
  File "C:\Users\myUser\Desktop\myApp\Lib\site-packages\flask_jwt_extended\view_decorators.py", line 108, in wrapper
    return fn(*args, **kwargs)
  File "C:\Users\myUser\Desktop\myApp\sp-windows-backend\app.py", line 3671, in put
    args = parser.parse_args()
  File "C:\Users\myUser\Desktop\myApp\Lib\site-packages\flask_restful\reqparse.py", line 328, in parse_args
    value, found = arg.parse(req, self.bundle_errors)
  File "C:\Users\myUser\Desktop\myApp\Lib\site-packages\flask_restful\reqparse.py", line 184, in parse
    source = self.source(request)
  File "C:\Users\myUser\Desktop\myApp\Lib\site-packages\flask_restful\reqparse.py", line 129, in source
    values.update(value)
  File "C:\Users\myUser\Desktop\myApp\Lib\site-packages\werkzeug\datastructures.py", line 627, in update
    for key, value in iter_multi_items(other_dict):
ValueError: not enough values to unpack (expected 2, got 1)
@pavs94
Copy link
Author

pavs94 commented Sep 4, 2021

This error is coming in every app either windows or ubuntu across different python versions and causing all requests to fail for some reason.

@pavs94
Copy link
Author

pavs94 commented Sep 4, 2021

Additional diagnoses suggest the error comes when calling the API from Axios. Calling it directly from the postman seems to work.

@pavs94
Copy link
Author

pavs94 commented Sep 4, 2021

Using the version of axios - 0.21.1 works. The latest version of axios - 0.21.3 does not work. I tested calling, on a browser and node.js app; the Flask API gives the above error with the latest version of axios which was updated 10 hours ago. Going to use 0.21.1 axios until a fix is implemented.

@pavs94 pavs94 changed the title Request Parser Failing Request Parser Failing when calling with latest version of axios - 0.21.3 Sep 4, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant