quick-start-connectors

Форк
0
33 строки · 958.0 Байт
1
import logging
2

3
from connexion.exceptions import Unauthorized
4
from flask import abort
5
from flask import current_app as app
6

7
from . import UpstreamProviderError, provider
8

9
logger = logging.getLogger(__name__)
10

11

12
def search(body):
13
    logger.debug(f'Search request: {body["query"]}')
14

15
    try:
16
        data = provider.search(body["query"])
17
        logger.info(f"Found {len(data)} results")
18
    except UpstreamProviderError as error:
19
        logger.error(f"Upstream search error: {error.message}")
20
        abort(502, error.message)
21
    except AssertionError as error:
22
        logger.error(f"Contentful config error: {error}")
23
        abort(502, f"Contentful config error: {error}")
24

25
    return {"results": data}, 200, {"X-Connector-Id": app.config.get("APP_ID")}
26

27

28
def apikey_auth(token):
29
    api_key = app.config.get("CONNECTOR_API_KEY", "")
30
    if api_key != "" and token != api_key:
31
        raise Unauthorized()
32
    # successfully authenticated
33
    return {}
34

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.