client.go 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. package serverless
  2. import (
  3. "net"
  4. "net/http"
  5. "net/url"
  6. "time"
  7. "github.com/langgenius/dify-plugin-daemon/internal/types/app"
  8. "github.com/langgenius/dify-plugin-daemon/internal/utils/log"
  9. )
  10. var (
  11. SERVERLESS_CONNECTOR_API_KEY string
  12. baseurl *url.URL
  13. client *http.Client
  14. )
  15. func Init(config *app.Config) {
  16. var err error
  17. baseurl, err = url.Parse(*config.DifyPluginServerlessConnectorURL)
  18. if err != nil {
  19. log.Panic("Failed to parse serverless connector url", err)
  20. }
  21. client = &http.Client{
  22. Transport: &http.Transport{
  23. Dial: (&net.Dialer{
  24. Timeout: 5 * time.Second, // how long a http connection can be alive before it's closed
  25. KeepAlive: 120 * time.Second, // how long a real tcp connection can be idle before it's closed
  26. }).Dial,
  27. IdleConnTimeout: 120 * time.Second,
  28. },
  29. }
  30. SERVERLESS_CONNECTOR_API_KEY = *config.DifyPluginServerlessConnectorAPIKey
  31. if err := Ping(); err != nil {
  32. log.Panic("Failed to ping serverless connector", err)
  33. }
  34. log.Info("Serverless connector initialized")
  35. }