graphene icon indicating copy to clipboard operation
graphene copied to clipboard

Can there be a way to mute stacktraces coming from certain exceptions?

Open benlei opened this issue 3 years ago • 0 comments

Is your feature request related to a problem? Please describe. Currently I'd get a stacktrace for every single validation that occurs:

2020-09-16 03:31:18.459 ERROR    graphql.execution.utils                  127.0.0.1 c7b7f54e-299d-478d-b3e3-ae2b5112921f : Traceback (most recent call last):
  File "/Users/blei/myproject/venv/lib/python3.8/site-packages/promise/promise.py", line 489, in _resolve_from_executor
    executor(resolve, reject)
  File "/Users/blei/myproject/venv/lib/python3.8/site-packages/promise/promise.py", line 756, in executor
    return resolve(f(*args, **kwargs))
  File "/Users/blei/myproject/venv/lib/python3.8/site-packages/graphql/execution/middleware.py", line 75, in make_it_promise
    return next(*args, **kwargs)
  File "/usr/local/Cellar/[email protected]/3.8.5/Frameworks/Python.framework/Versions/3.8/lib/python3.8/contextlib.py", line 75, in inner
    return func(*args, **kwds)
  File "/Users/blei/myproject/my_app/graphql.py", line 14, in wrapper_decorator
    return func(*args, **kwargs)
  File "/Users/blei/myproject/my_app/graphql.py", line 310, in mutate
    raise MyAppError('Something')
graphql.error.located_error.GraphQLLocatedError: Something

Which seems like it would take up a LOT of disk space if someone were malicious + spammed the same endpoint many times and thus taking up all the disk space on my server.

Describe the solution you'd like I would like the ability to mute exceptions (or specifically, stacktraces) coming from certain exceptions.

Describe alternatives you've considered I've tried adding in my own errors field it seems like Graphene just mutes it.

Additional context I can alternatively just create an error field or something, but then in the frontend I have to write in logic to handle the error/et. al and the errors field.

benlei avatar Sep 16 '20 03:09 benlei