quick-start-connectors
33 строки · 958.0 Байт
1import logging2
3from connexion.exceptions import Unauthorized4from flask import abort5from flask import current_app as app6
7from . import UpstreamProviderError, provider8
9logger = logging.getLogger(__name__)10
11
12def search(body):13logger.debug(f'Search request: {body["query"]}')14
15try:16data = provider.search(body["query"])17logger.info(f"Found {len(data)} results")18except UpstreamProviderError as error:19logger.error(f"Upstream search error: {error.message}")20abort(502, error.message)21except AssertionError as error:22logger.error(f"Contentful config error: {error}")23abort(502, f"Contentful config error: {error}")24
25return {"results": data}, 200, {"X-Connector-Id": app.config.get("APP_ID")}26
27
28def apikey_auth(token):29api_key = app.config.get("CONNECTOR_API_KEY", "")30if api_key != "" and token != api_key:31raise Unauthorized()32# successfully authenticated33return {}34