webForwarding.go 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. package v1
  2. type WebForwardingDataRequest struct {
  3. Id int `form:"id" json:"id"`
  4. CdnWebId int `form:"cdnWebId" json:"cdnWebId"`
  5. Port string `form:"port" json:"port" validate:"required,numeric,min=1,max=65535"`
  6. Domain string `form:"domain" json:"domain" validate:"omitempty,idn_fqdn|ip"`
  7. BackendList []BackendList `form:"backendList" json:"backendList" validate:"required,dive"`
  8. IsHttps int `form:"isHttps" json:"isHttps" default:"0"`
  9. Comment string `form:"comment" json:"comment" validate:"max=50"`
  10. HttpsCert string `form:"httpsCert" json:"httpsCert"`
  11. HttpsKey string `form:"httpsKey" json:"httpsKey"`
  12. SslCertId int64 `form:"sslCertId" json:"sslCertId"`
  13. Proxy bool `form:"proxy" json:"proxy" default:"false"`
  14. CcConfig CcConfigRequest `form:"ccConfig" json:"ccConfig"`
  15. }
  16. type DeleteWebForwardingRequest struct {
  17. Ids []int `form:"ids" json:"ids" validate:"required,min=1,dive,required"`
  18. Uid int `form:"uid" json:"uid" validate:"required"`
  19. HostId int `form:"hostId" json:"hostId" validate:"required"`
  20. }
  21. type WebForwardingRequest struct {
  22. HostId int `form:"hostId" json:"hostId" validate:"required"`
  23. Uid int `form:"uid" json:"uid" validate:"required"`
  24. WebForwardingData WebForwardingDataRequest `form:"data" json:"data" validate:"required"`
  25. }
  26. type BackendList struct {
  27. Addr string `json:"addr,omitempty" form:"addr" validate:"required,hostport"`
  28. CustomHost string `json:"customHost,omitempty" form:"customHost" validate:"omitempty,idn_fqdn"`
  29. IsHttps int `json:"isHttps,omitempty" form:"isHttps" default:"0"`
  30. }
  31. type CcConfigRequest struct {
  32. IsOn bool `form:"isOn" json:"isOn" default:"false"`
  33. ThresholdMethod string `form:"thresholdMethod" json:"thresholdMethod" default:"default"` //阈值设置
  34. Limit5s int `form:"limit5s" json:"limit5s"`
  35. Limit60s int `form:"limit60s" json:"limit60s"`
  36. Limit300s int `form:"limit300s" json:"limit300s"`
  37. Level string `form:"level" json:"level" default:"low"` //拦截强度
  38. }