quick-start-connectors
30 строк · 846.0 Байт
1import logging
2
3from connexion.exceptions import Unauthorized
4from flask import abort
5from flask import current_app as app
6
7from . import UpstreamProviderError, provider
8
9logger = logging.getLogger(__name__)
10
11
12def search(body):
13try:
14data = provider.search(body["query"])
15except UpstreamProviderError as error:
16logger.error(f"Upstream search error: {error.message}")
17abort(502, error.message)
18except AssertionError as error:
19logger.error(f"GDrive config error: {error}")
20abort(502, f"GDrive config error: {error}")
21
22return {"results": data}, 200, {"X-Connector-Id": app.config.get("APP_ID")}
23
24
25def apikey_auth(token):
26api_key = app.config.get("CONNECTOR_API_KEY", "")
27if api_key != "" and token != api_key:
28raise Unauthorized()
29# successfully authenticated
30return {}
31