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

Invoking APIError prints a bunch of statements in the terminal #5

Open
seshagiriprabhu opened this issue Aug 11, 2024 · 0 comments
Open

Comments

@seshagiriprabhu
Copy link

seshagiriprabhu commented Aug 11, 2024

We use chowkidar in the TankPhish project along with the other packages:

Django==4.1.10
django-debug-toolbar==4.1.0
chowkidar-strawberry==0.3.1
strawberry-graphql==0.205.0
strawberry-graphql-django==0.16.0

When the APIError is invoked, it prints a stack trace. For instance, below is the login mutation where we use APIError:

from chowkidar.wrappers import issue_tokens_on_login
from chowkidar.authentication import authenticate
from chowkidar.utils.exceptions import APIError

@strawberry.type
class AuthMutations:
    @strawberry.mutation
    @issue_tokens_on_login
    def login(
        self,
        info,
        email: str,
        password: str,
    ) -> Optional[Annotated["PersonalProfile", strawberry.lazy("user.graphql.types.user")]]:
        try:
            user = authenticate(password=password, email=email, request=info)
        except AuthError as e:
            raise APIError(code=e.code, message=e.message)

In this case, when the authenticate() method raises an AuthError and the APIError is invoked, it prints the error message as well the following in the stack trace:

System check identified no issues (0 silenced).
August 11, 2024 - 11:34:38
Django version 4.1.10, using settings 'framework.test_settings'
Starting development server at http://0.0.0.0:8000/
Quit the server with CONTROL-C.
An account with this email address does not exist
Stack (most recent call last):
  File "/usr/lib/python3.12/threading.py", line 1030, in _bootstrap
    self._bootstrap_inner()
  File "/usr/lib/python3.12/threading.py", line 1073, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3.12/threading.py", line 1010, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/lib/python3.12/socketserver.py", line 692, in process_request_thread
    self.finish_request(request, client_address)
  File "/usr/lib/python3.12/socketserver.py", line 362, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "/usr/lib/python3.12/socketserver.py", line 761, in __init__
    self.handle()
  File "/home/giri/work/traboda/tankphish/.venv/lib/python3.12/site-packages/django/core/servers/basehttp.py", line 202, in handle
    self.handle_one_request()
  File "/home/giri/work/traboda/tankphish/.venv/lib/python3.12/site-packages/django/core/servers/basehttp.py", line 227, in handle_one_request
    handler.run(self.server.get_app())
  File "/usr/lib/python3.12/wsgiref/handlers.py", line 137, in run
    self.result = application(self.environ, self.start_response)
  File "/home/giri/work/traboda/tankphish/.venv/lib/python3.12/site-packages/django/contrib/staticfiles/handlers.py", line 80, in __call__
    return self.application(environ, start_response)
  File "/home/giri/work/traboda/tankphish/.venv/lib/python3.12/site-packages/django/core/handlers/wsgi.py", line 131, in __call__
    response = self.get_response(request)
  File "/home/giri/work/traboda/tankphish/.venv/lib/python3.12/site-packages/django/core/handlers/base.py", line 140, in get_response
    response = self._middleware_chain(request)
  File "/home/giri/work/traboda/tankphish/.venv/lib/python3.12/site-packages/django/core/handlers/exception.py", line 56, in inner
    response = get_response(request)
  File "/home/giri/work/traboda/tankphish/.venv/lib/python3.12/site-packages/django/utils/deprecation.py", line 136, in __call__
    response = response or self.get_response(request)
  File "/home/giri/work/traboda/tankphish/.venv/lib/python3.12/site-packages/django/core/handlers/exception.py", line 56, in inner
    response = get_response(request)
  File "/home/giri/work/traboda/tankphish/.venv/lib/python3.12/site-packages/whitenoise/middleware.py", line 124, in __call__
    return self.get_response(request)
  File "/home/giri/work/traboda/tankphish/.venv/lib/python3.12/site-packages/django/core/handlers/exception.py", line 56, in inner
    response = get_response(request)
  File "/home/giri/work/traboda/tankphish/.venv/lib/python3.12/site-packages/django/utils/deprecation.py", line 136, in __call__
    response = response or self.get_response(request)
  File "/home/giri/work/traboda/tankphish/.venv/lib/python3.12/site-packages/django/core/handlers/exception.py", line 56, in inner
    response = get_response(request)
  File "/home/giri/work/traboda/tankphish/.venv/lib/python3.12/site-packages/django/utils/deprecation.py", line 136, in __call__
    response = response or self.get_response(request)
  File "/home/giri/work/traboda/tankphish/.venv/lib/python3.12/site-packages/django/core/handlers/exception.py", line 56, in inner
    response = get_response(request)
  File "/home/giri/work/traboda/tankphish/.venv/lib/python3.12/site-packages/django/utils/deprecation.py", line 136, in __call__
    response = response or self.get_response(request)
  File "/home/giri/work/traboda/tankphish/.venv/lib/python3.12/site-packages/django/core/handlers/exception.py", line 56, in inner
    response = get_response(request)
  File "/home/giri/work/traboda/tankphish/.venv/lib/python3.12/site-packages/django/utils/deprecation.py", line 136, in __call__
    response = response or self.get_response(request)
  File "/home/giri/work/traboda/tankphish/.venv/lib/python3.12/site-packages/django/core/handlers/exception.py", line 56, in inner
    response = get_response(request)
  File "/home/giri/work/traboda/tankphish/.venv/lib/python3.12/site-packages/django/utils/deprecation.py", line 136, in __call__
    response = response or self.get_response(request)
  File "/home/giri/work/traboda/tankphish/.venv/lib/python3.12/site-packages/django/core/handlers/exception.py", line 56, in inner
    response = get_response(request)
  File "/home/giri/work/traboda/tankphish/.venv/lib/python3.12/site-packages/django/utils/deprecation.py", line 136, in __call__
    response = response or self.get_response(request)
  File "/home/giri/work/traboda/tankphish/.venv/lib/python3.12/site-packages/django/core/handlers/exception.py", line 56, in inner
    response = get_response(request)
  File "/home/giri/work/traboda/tankphish/.venv/lib/python3.12/site-packages/strawberry_django/middlewares/debug_toolbar.py", line 147, in __call__
    return self.process_request(request)
  File "/home/giri/work/traboda/tankphish/.venv/lib/python3.12/site-packages/strawberry_django/middlewares/debug_toolbar.py", line 158, in process_request
    response = super().__call__(request)
  File "/home/giri/work/traboda/tankphish/.venv/lib/python3.12/site-packages/debug_toolbar/middleware.py", line 58, in __call__
    response = toolbar.process_request(request)
  File "/home/giri/work/traboda/tankphish/.venv/lib/python3.12/site-packages/debug_toolbar/panels/__init__.py", line 205, in process_request
    return self.get_response(request)
  File "/home/giri/work/traboda/tankphish/.venv/lib/python3.12/site-packages/debug_toolbar/panels/__init__.py", line 205, in process_request
    return self.get_response(request)
  File "/home/giri/work/traboda/tankphish/.venv/lib/python3.12/site-packages/debug_toolbar/panels/timer.py", line 65, in process_request
    return super().process_request(request)
  File "/home/giri/work/traboda/tankphish/.venv/lib/python3.12/site-packages/debug_toolbar/panels/__init__.py", line 205, in process_request
    return self.get_response(request)
  File "/home/giri/work/traboda/tankphish/.venv/lib/python3.12/site-packages/debug_toolbar/panels/__init__.py", line 205, in process_request
    return self.get_response(request)
  File "/home/giri/work/traboda/tankphish/.venv/lib/python3.12/site-packages/debug_toolbar/panels/headers.py", line 46, in process_request
    return super().process_request(request)
  File "/home/giri/work/traboda/tankphish/.venv/lib/python3.12/site-packages/debug_toolbar/panels/__init__.py", line 205, in process_request
    return self.get_response(request)
  File "/home/giri/work/traboda/tankphish/.venv/lib/python3.12/site-packages/debug_toolbar/panels/__init__.py", line 205, in process_request
    return self.get_response(request)
  File "/home/giri/work/traboda/tankphish/.venv/lib/python3.12/site-packages/debug_toolbar/panels/__init__.py", line 205, in process_request
    return self.get_response(request)
  File "/home/giri/work/traboda/tankphish/.venv/lib/python3.12/site-packages/debug_toolbar/panels/staticfiles.py", line 124, in process_request
    return super().process_request(request)
  File "/home/giri/work/traboda/tankphish/.venv/lib/python3.12/site-packages/debug_toolbar/panels/__init__.py", line 205, in process_request
    return self.get_response(request)
  File "/home/giri/work/traboda/tankphish/.venv/lib/python3.12/site-packages/debug_toolbar/panels/__init__.py", line 205, in process_request
    return self.get_response(request)
  File "/home/giri/work/traboda/tankphish/.venv/lib/python3.12/site-packages/debug_toolbar/panels/__init__.py", line 205, in process_request
    return self.get_response(request)
  [Previous line repeated 1 more time]
  File "/home/giri/work/traboda/tankphish/.venv/lib/python3.12/site-packages/django/core/handlers/exception.py", line 56, in inner
    response = get_response(request)
  File "/home/giri/work/traboda/tankphish/.venv/lib/python3.12/site-packages/django/core/handlers/base.py", line 197, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/home/giri/work/traboda/tankphish/.venv/lib/python3.12/site-packages/django/views/decorators/csrf.py", line 55, in wrapped_view
    return view_func(*args, **kwargs)
  File "/home/giri/work/traboda/tankphish/.venv/lib/python3.12/site-packages/chowkidar/view.py", line 69, in wrapped_view
    return finish_response(request, view_func(request, *args, **kwargs))
  File "/home/giri/work/traboda/tankphish/.venv/lib/python3.12/site-packages/django/views/generic/base.py", line 103, in view
    return self.dispatch(request, *args, **kwargs)
  File "/home/giri/work/traboda/tankphish/.venv/lib/python3.12/site-packages/django/utils/decorators.py", line 46, in _wrapper
    return bound_method(*args, **kwargs)
  File "/home/giri/work/traboda/tankphish/.venv/lib/python3.12/site-packages/django/views/decorators/csrf.py", line 55, in wrapped_view
    return view_func(*args, **kwargs)
  File "/home/giri/work/traboda/tankphish/.venv/lib/python3.12/site-packages/strawberry/django/views.py", line 207, in dispatch
    return self.run(request=request)
  File "/home/giri/work/traboda/tankphish/.venv/lib/python3.12/site-packages/strawberry/http/sync_base_view.py", line 189, in run
    result = self.execute_operation(
  File "/home/giri/work/traboda/tankphish/.venv/lib/python3.12/site-packages/strawberry/http/sync_base_view.py", line 125, in execute_operation
    return self.schema.execute_sync(
  File "/home/giri/work/traboda/tankphish/.venv/lib/python3.12/site-packages/strawberry/schema/schema.py", line 288, in execute_sync
    result = execute_sync(
  File "/home/giri/work/traboda/tankphish/.venv/lib/python3.12/site-packages/strawberry/schema/execute.py", line 252, in execute_sync
    process_errors(result.errors, execution_context)
[11/Aug/2024 11:38:28] "POST /api/graphql/ HTTP/1.1" 200 960

Is it an error, or is it just printing out this information for debugging? If it prints out for debugging, adding some settings to suppress the debug lines would be nice.

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