ext_blueprints.py 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. from configs import dify_config
  2. from dify_app import DifyApp
  3. def init_app(app: DifyApp):
  4. # register blueprint routers
  5. from flask_cors import CORS # type: ignore
  6. from controllers.console import bp as console_app_bp
  7. from controllers.files import bp as files_bp
  8. from controllers.inner_api import bp as inner_api_bp
  9. from controllers.service_api import bp as service_api_bp
  10. from controllers.web import bp as web_bp
  11. CORS(
  12. service_api_bp,
  13. allow_headers=["Content-Type", "Authorization", "X-App-Code"],
  14. methods=["GET", "PUT", "POST", "DELETE", "OPTIONS", "PATCH"],
  15. )
  16. app.register_blueprint(service_api_bp)
  17. CORS(
  18. web_bp,
  19. resources={r"/*": {"origins": dify_config.WEB_API_CORS_ALLOW_ORIGINS}},
  20. supports_credentials=True,
  21. allow_headers=["Content-Type", "Authorization", "X-App-Code"],
  22. methods=["GET", "PUT", "POST", "DELETE", "OPTIONS", "PATCH"],
  23. expose_headers=["X-Version", "X-Env"],
  24. )
  25. app.register_blueprint(web_bp)
  26. CORS(
  27. console_app_bp,
  28. resources={r"/*": {"origins": dify_config.CONSOLE_CORS_ALLOW_ORIGINS}},
  29. supports_credentials=True,
  30. allow_headers=["Content-Type", "Authorization"],
  31. methods=["GET", "PUT", "POST", "DELETE", "OPTIONS", "PATCH"],
  32. expose_headers=["X-Version", "X-Env"],
  33. )
  34. app.register_blueprint(console_app_bp)
  35. CORS(files_bp, allow_headers=["Content-Type"], methods=["GET", "PUT", "POST", "DELETE", "OPTIONS", "PATCH"])
  36. app.register_blueprint(files_bp)
  37. app.register_blueprint(inner_api_bp)