Skip to content

Commit 9f5361b

Browse files
author
mongkok
committed
Added EXT_SHOW_ERROR_MESSAGE_HANDLER setting variable
1 parent 292262e commit 9f5361b

File tree

2 files changed

+19
-4
lines changed

2 files changed

+19
-4
lines changed

graphql_extensions/settings.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,16 @@
33
from django.conf import settings
44
from django.test.signals import setting_changed
55

6+
DEFAULTS = {
7+
'EXT_SHOW_ERROR_MESSAGE_HANDLER':
8+
'graphql_extensions.views.show_error_message',
9+
}
10+
11+
IMPORT_STRINGS = (
12+
'EXT_SHOW_ERROR_MESSAGE_HANDLER',
13+
)
14+
15+
616
def perform_import(value, setting_name):
717
if value is not None and isinstance(value, str):
818
return import_from_string(value, setting_name)

graphql_extensions/views.py

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,14 @@
1111
from graphql.error.located_error import GraphQLLocatedError
1212

1313
from . import exceptions
14+
from .settings import extensions_settings
15+
16+
17+
def show_error_message(error):
18+
return settings.DEBUG or isinstance(error, (
19+
exceptions.GraphQLError,
20+
GraphQLError,
21+
))
1422

1523

1624
class GraphQLView(BaseGraphQLView):
@@ -23,10 +31,7 @@ def format_error(error):
2331
formatted_error = format_graphql_error(error)
2432
graphql_error = OrderedDict([('type', error.__class__.__name__)])
2533

26-
if settings.DEBUG or isinstance(error, (
27-
exceptions.GraphQLError,
28-
GraphQLError,
29-
)):
34+
if extensions_settings.EXT_SHOW_ERROR_MESSAGE_HANDLER(error):
3035
graphql_error['message'] = formatted_error['message']
3136
else:
3237
# Internal errors must be masked

0 commit comments

Comments
 (0)