From 177677fe692262e747b34fe4847297f358009ff3 Mon Sep 17 00:00:00 2001 From: Just van den Broecke Date: Tue, 21 May 2019 15:38:34 +0200 Subject: [PATCH] #129 #112 Move enabling global config options for CORS and JSONIFY to file/module level Tested for all True/False combinations and HTTP header checks. --- pygeoapi/flask_app.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/pygeoapi/flask_app.py b/pygeoapi/flask_app.py index aeb73d9..8f21425 100644 --- a/pygeoapi/flask_app.py +++ b/pygeoapi/flask_app.py @@ -48,6 +48,14 @@ if 'PYGEOAPI_CONFIG' not in os.environ: with open(os.environ.get('PYGEOAPI_CONFIG')) as fh: CONFIG = yaml.load(fh) +# CORS: optionally enable from config. +if CONFIG['server'].get('cors', False): + from flask_cors import CORS + CORS(APP) + +APP.config['JSONIFY_PRETTYPRINT_REGULAR'] = \ + CONFIG['server'].get('pretty_print', True) + api_ = API(CONFIG) @@ -156,13 +164,6 @@ def execute_process(name=None): def serve(ctx, debug=False): """Serve pygeoapi via Flask""" - if not api_.config['server']['pretty_print']: - APP.config['JSONIFY_PRETTYPRINT_REGULAR'] = False - - if 'cors' in api_.config['server'] and api_.config['server']['cors']: - from flask_cors import CORS - CORS(APP) - # setup_logger(CONFIG['logging']) APP.run(debug=True, host=api_.config['server']['bind']['host'], port=api_.config['server']['bind']['port'])