Как реализовать CORS с внедрением зависимостей в Sanic - PullRequest
1 голос
/ 17 мая 2019

Я создаю API в Sanic, используя библиотеку внедрения зависимостей, и пытаюсь реализовать CORS.

Я попытался присвоить класс Sanic переменной и передать его в CORS(), затемпередайте переменную и __name__ в providers.Factory.

В комментариях ниже показаны точные строки, где я пытаюсь реализовать CORS:

from sanic_cors import CORS, cross_origin # imported the Sanic_cors here

class Application(containers.DeclarativeContainer):
    """
    Application components container
    """
  # declared the app variable here and passed the Sanic class
    app = Sanic()
  # passed the variable in to CORS()
    CORS(app) 
    webapi = providers.Factory(app, __name__)

Я не ожидал ошибок при запускеAPI, но я получаю эту ошибку ниже:

Traceback (most recent call last):
  File "api.py", line 7, in <module>
    run_api(APP)
  File "/Users/Kassim/Documents/Projects/pythonProjects/my-app-engine/app/api_runner.py", line 8, in run_api
    web_api = application.webapi()
  File "src/dependency_injector/providers.pyx", line 100, in dependency_injector.providers.Provider.__call__
  File "src/dependency_injector/providers.pyx", line 1247, in dependency_injector.providers.Factory._provide
  File "src/dependency_injector/providers.pxd", line 278, in dependency_injector.providers.__factory_call
  File "src/dependency_injector/providers.pxd", line 272, in dependency_injector.providers.__callable_call
TypeError: __call__() takes 1 positional argument but 2 were given
...