resty.go 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  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. SetLogger(logger).
  13. SetHeader("Content-Type", "application/json").
  14. SetBaseURL("https://fastgpt.gkscrm.com/api").
  15. SetHeader("Authorization", "Bearer "+getToken())
  16. return client
  17. }
  18. func NewDiyResty(token string) *resty.Client {
  19. client := resty.New()
  20. logger := newLogger()
  21. client.SetRetryCount(2).
  22. SetLogger(logger).
  23. SetHeader("Content-Type", "application/json").
  24. SetBaseURL(GetBaseUrl()).
  25. SetHeader("Authorization", "Bearer "+token)
  26. return client
  27. }
  28. // getToken 获取配置的可用的Token
  29. func getToken() string {
  30. return "fastgpt-czbAiqKKse65hwwviZhwkgvyDEKE3aeB31Fx18oUsAGojyWQ672HdsWZi1E1C"
  31. }
  32. func GetBaseUrl() string {
  33. return "https://fastgpt.gkscrm.com/api"
  34. }
  35. type logger struct {
  36. l *log.Logger
  37. }
  38. func (l *logger) Errorf(format string, v ...interface{}) {
  39. l.output("ERROR RESTY "+format, v...)
  40. }
  41. func (l *logger) Warnf(format string, v ...interface{}) {
  42. l.output("WARN RESTY "+format, v...)
  43. }
  44. func (l *logger) Debugf(format string, v ...interface{}) {
  45. l.output("DEBUG RESTY "+format, v...)
  46. }
  47. func (l *logger) output(format string, v ...interface{}) {
  48. if len(v) == 0 {
  49. l.l.Print(format)
  50. return
  51. }
  52. l.l.Printf(format, v...)
  53. }
  54. // newLogger return a new logger
  55. func newLogger() *logger {
  56. l := &logger{l: log.New(os.Stdout, "", log.Ldate|log.Lmicroseconds)}
  57. return l
  58. }