http.go 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. package server
  2. import (
  3. "fmt"
  4. "github.com/gin-gonic/gin"
  5. "github.com/langgenius/dify-plugin-daemon/internal/server/controllers"
  6. "github.com/langgenius/dify-plugin-daemon/internal/types/app"
  7. )
  8. func (app *App) server(config *app.Config) {
  9. engine := gin.Default()
  10. engine.GET("/health/check", controllers.HealthCheck)
  11. engine.POST(
  12. "/plugin/tool/invoke",
  13. CheckingKey(config.PluginInnerApiKey),
  14. app.Redirect(),
  15. controllers.InvokeTool,
  16. )
  17. engine.POST(
  18. "/plugin/tool/validate_credentials",
  19. CheckingKey(config.PluginInnerApiKey),
  20. app.Redirect(),
  21. controllers.ValidateToolCredentials,
  22. )
  23. engine.POST(
  24. "/plugin/llm/invoke",
  25. CheckingKey(config.PluginInnerApiKey),
  26. app.Redirect(),
  27. controllers.InvokeLLM,
  28. )
  29. engine.POST(
  30. "/plugin/text_embedding/invoke",
  31. CheckingKey(config.PluginInnerApiKey),
  32. app.Redirect(),
  33. controllers.InvokeTextEmbedding,
  34. )
  35. engine.POST(
  36. "/plugin/rerank/invoke",
  37. CheckingKey(config.PluginInnerApiKey),
  38. app.Redirect(),
  39. controllers.InvokeRerank,
  40. )
  41. engine.POST(
  42. "/plugin/tts/invoke",
  43. CheckingKey(config.PluginInnerApiKey),
  44. app.Redirect(),
  45. controllers.InvokeTTS,
  46. )
  47. engine.POST(
  48. "/plugin/speech2text/invoke",
  49. CheckingKey(config.PluginInnerApiKey),
  50. app.Redirect(),
  51. controllers.InvokeSpeech2Text,
  52. )
  53. engine.POST(
  54. "/plugin/moderation/invoke",
  55. CheckingKey(config.PluginInnerApiKey),
  56. app.Redirect(),
  57. controllers.InvokeModeration,
  58. )
  59. engine.POST(
  60. "/plugin/model/validate_provider_credentials",
  61. CheckingKey(config.PluginInnerApiKey),
  62. app.Redirect(),
  63. controllers.ValidateProviderCredentials,
  64. )
  65. engine.POST(
  66. "/plugin/model/validate_model_credentials",
  67. CheckingKey(config.PluginInnerApiKey),
  68. app.Redirect(),
  69. controllers.ValidateModelCredentials,
  70. )
  71. if config.PluginRemoteInstallingEnabled {
  72. engine.POST(
  73. "/plugin/debugging/key",
  74. CheckingKey(config.PluginInnerApiKey),
  75. app.Redirect(),
  76. controllers.GetRemoteDebuggingKey,
  77. )
  78. }
  79. engine.Run(fmt.Sprintf(":%d", config.ServerPort))
  80. }