webForwarding.go 5.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. package v1
  2. type WebForwardingDataSend struct {
  3. WafWebId int `form:"waf_web_id" json:"waf_web_id"`
  4. Tag string `form:"tag" json:"tag"`
  5. Port int `form:"port" json:"port" binding:"required"`
  6. Domain string `form:"domain" json:"domain"`
  7. CustomHost string `form:"custom_host" json:"custom_host"`
  8. WafGatewayGroupId int `form:"waf_gateway_group_id" json:"waf_gateway_group_id"`
  9. WafWebLimitId int `form:"waf_web_limit_id" json:"waf_web_limit_id"`
  10. CcCount int `form:"cc_count" json:"cc_count" default:"0"`
  11. CcDuration string `form:"cc_duration" json:"cc_duration" default:"0s"`
  12. CcBlockCount int `form:"cc_block_count" json:"cc_block_count" default:"0"`
  13. CcBlockDuration string `form:"cc_block_duration" json:"cc_block_duration" default:"0s"`
  14. Cc4xxCount int `form:"cc_4xx_count" json:"cc_4xx_count" default:"0"`
  15. Cc4xxDuration string `form:"cc_4xx_duration" json:"cc_4xx_duration" default:"0s"`
  16. Cc4xxBlockCount int `form:"cc_4xx_block_count" json:"cc_4xx_block_count" default:"0"`
  17. Cc4xxBlockDuration string `form:"cc_4xx_block_duration" json:"cc_4xx_block_duration" default:"0s"`
  18. Cc5xxCount int `form:"cc_5xx_count" json:"cc_5xx_count" default:"0"`
  19. Cc5xxDuration string `form:"cc_5xx_duration" json:"cc_5xx_duration" default:"0s"`
  20. Cc5xxBlockCount int `form:"cc_5xx_block_count" json:"cc_5xx_block_count" default:"0"`
  21. Cc5xxBlockDuration string `form:"cc_5xx_block_duration" json:"cc_5xx_block_duration" default:"0s"`
  22. BackendList []BackendList `form:"backend_list" json:"backend_list"`
  23. AllowIpList string `form:"allow_ip_list" json:"allow_ip_list"`
  24. DenyIpList string `form:"deny_ip_list" json:"deny_ip_list"`
  25. AccessRule string `form:"access_rule" json:"access_rule"`
  26. IsHttps int `form:"is_https" json:"is_https" default:"0"`
  27. Comment string `form:"comment" json:"comment"`
  28. HttpsCert string `form:"https_cert" json:"https_cert omitempty"`
  29. HttpsKey string `form:"https_key" json:"https_key omitempty"`
  30. }
  31. type WebForwardingDataRequest struct {
  32. Id int `form:"id" json:"id"`
  33. WafWebId int `form:"waf_web_id" json:"waf_web_id"`
  34. Tag string `form:"tag" json:"tag"`
  35. Port string `form:"port" json:"port" binding:"required"`
  36. Domain string `form:"domain" json:"domain"`
  37. CustomHost string `form:"custom_host" json:"custom_host"`
  38. WafGatewayGroupId int `form:"waf_gateway_group_id" json:"waf_gateway_group_id"`
  39. WafWebLimitId int `form:"waf_web_limit_id" json:"waf_web_limit_id"`
  40. CcCount int `form:"cc_count" json:"cc_count" default:"0"`
  41. CcDuration string `form:"cc_duration" json:"cc_duration" default:"0s"`
  42. CcBlockCount int `form:"cc_block_count" json:"cc_block_count" default:"0"`
  43. CcBlockDuration string `form:"cc_block_duration" json:"cc_block_duration" default:"0s"`
  44. Cc4xxCount int `form:"cc_4xx_count" json:"cc_4xx_count" default:"0"`
  45. Cc4xxDuration string `form:"cc_4xx_duration" json:"cc_4xx_duration" default:"0s"`
  46. Cc4xxBlockCount int `form:"cc_4xx_block_count" json:"cc_4xx_block_count" default:"0"`
  47. Cc4xxBlockDuration string `form:"cc_4xx_block_duration" json:"cc_4xx_block_duration" default:"0s"`
  48. Cc5xxCount int `form:"cc_5xx_count" json:"cc_5xx_count" default:"0"`
  49. Cc5xxDuration string `form:"cc_5xx_duration" json:"cc_5xx_duration" default:"0s"`
  50. Cc5xxBlockCount int `form:"cc_5xx_block_count" json:"cc_5xx_block_count" default:"0"`
  51. Cc5xxBlockDuration string `form:"cc_5xx_block_duration" json:"cc_5xx_block_duration" default:"0s"`
  52. BackendList []BackendList `form:"backend_list" json:"backend_list"`
  53. AllowIpList []string `form:"allow_ip_list" json:"allow_ip_list"`
  54. DenyIpList []string `form:"deny_ip_list" json:"deny_ip_list"`
  55. AccessRule string `form:"access_rule" json:"access_rule"`
  56. IsHttps int `form:"is_https" json:"is_https" default:"0"`
  57. Comment string `form:"comment" json:"comment"`
  58. HttpsCert string `form:"https_cert" json:"https_cert"`
  59. HttpsKey string `form:"https_key" json:"https_key"`
  60. }
  61. type DeleteWebForwardingRequest struct {
  62. Ids []int `form:"ids" json:"ids" binding:"required"`
  63. Uid int `form:"uid" json:"uid" binding:"required"`
  64. HostId int `form:"host_id" json:"host_id" binding:"required"`
  65. }
  66. type WebForwardingRequest struct {
  67. HostId int `form:"host_id" json:"host_id" binding:"required"`
  68. Uid int `form:"uid" json:"uid" binding:"required"`
  69. WebForwardingData WebForwardingDataRequest `form:"data" json:"data"`
  70. }
  71. type WebForwardingRequire struct {
  72. HostId int `form:"host_id" json:"host_id" binding:"required"`
  73. Uid int `form:"uid" json:"uid" binding:"required"`
  74. Comment string `form:"comment" json:"comment" binding:"required"`
  75. WafGatewayGroupId int `form:"waf_gateway_group_id" json:"waf_gateway_group_id"`
  76. WafWebLimitRuleId int `form:"waf_web_limit_id" json:"waf_web_limit_id"`
  77. Tag string `form:"tag" json:"tag" binding:"required"`
  78. }
  79. type BackendList struct {
  80. Addr string `json:"addr,omitempty" form:"addr"`
  81. Protocol string `json:"protocol" form:"protocol"`
  82. Timeout string `json:"timeout,omitempty" form:"timeout" default:"30s"`
  83. ProxyV1 bool `json:"proxy_v1,omitempty" form:"proxy_v1" default:"false"`
  84. }