resty.go 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. package fastgpt
  2. import (
  3. "github.com/go-resty/resty/v2"
  4. "log"
  5. "os"
  6. )
  7. // NewResty new resty client
  8. func NewResty() *resty.Client {
  9. client := resty.New()
  10. logger := newLogger()
  11. client.SetRetryCount(2).
  12. SetHeader("Content-Type", "application/json").
  13. SetLogger(logger).
  14. SetBaseURL("https://fastgpt.gkscrm.com/api").
  15. SetHeader("Authorization", "Bearer "+getToken())
  16. return client
  17. }
  18. // getToken 获取配置的可用的Token
  19. func getToken() string {
  20. return "fastgpt-czbAiqKKse65hwwviZhwkgvyDEKE3aeB31Fx18oUsAGojyWQ672HdsWZi1E1C"
  21. }
  22. type logger struct {
  23. l *log.Logger
  24. }
  25. func (l *logger) Errorf(format string, v ...interface{}) {
  26. l.output("ERROR RESTY "+format, v...)
  27. }
  28. func (l *logger) Warnf(format string, v ...interface{}) {
  29. l.output("WARN RESTY "+format, v...)
  30. }
  31. func (l *logger) Debugf(format string, v ...interface{}) {
  32. l.output("DEBUG RESTY "+format, v...)
  33. }
  34. func (l *logger) output(format string, v ...interface{}) {
  35. if len(v) == 0 {
  36. l.l.Print(format)
  37. return
  38. }
  39. l.l.Printf(format, v...)
  40. }
  41. // newLogger return a new logger
  42. func newLogger() *logger {
  43. l := &logger{l: log.New(os.Stdout, "", log.Ldate|log.Lmicroseconds)}
  44. return l
  45. }