Changeset View
Changeset View
Standalone View
Standalone View
swh/graphql/server.py
Show First 20 Lines • Show All 61 Lines • ▼ Show 20 Lines | def make_app_from_configfile(): | ||||
"""Loading the configuration from a configuration file. | """Loading the configuration from a configuration file. | ||||
SWH_CONFIG_FILENAME environment variable defines the | SWH_CONFIG_FILENAME environment variable defines the | ||||
configuration path to load. | configuration path to load. | ||||
""" | """ | ||||
from ariadne.asgi import GraphQL | from ariadne.asgi import GraphQL | ||||
from starlette.middleware.cors import CORSMiddleware | from starlette.middleware.cors import CORSMiddleware | ||||
from .app import schema | from .app import schema, validation_rules | ||||
from .errors import format_error | from .errors import format_error | ||||
global graphql_cfg | global graphql_cfg | ||||
if not graphql_cfg: | if not graphql_cfg: | ||||
config_path = os.environ.get("SWH_CONFIG_FILENAME") | config_path = os.environ.get("SWH_CONFIG_FILENAME") | ||||
graphql_cfg = load_and_check_config(config_path) | graphql_cfg = load_and_check_config(config_path) | ||||
application = CORSMiddleware( | application = CORSMiddleware( | ||||
GraphQL(schema, debug=graphql_cfg["debug"], error_formatter=format_error), | GraphQL( | ||||
schema, | |||||
debug=graphql_cfg["debug"], | |||||
validation_rules=validation_rules, | |||||
error_formatter=format_error, | |||||
), | |||||
# FIXME, restrict origins after deploying the JS client | # FIXME, restrict origins after deploying the JS client | ||||
allow_origins=["*"], | allow_origins=["*"], | ||||
allow_methods=("GET", "POST", "OPTIONS"), | allow_methods=("GET", "POST", "OPTIONS"), | ||||
) | ) | ||||
return application | return application |