webForwarding.go 5.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  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. }
  29. type WebForwardingDataRequest struct {
  30. Id int `form:"id" json:"id"`
  31. WafWebId int `form:"waf_web_id" json:"waf_web_id"`
  32. Tag string `form:"tag" json:"tag"`
  33. Port int `form:"port" json:"port" binding:"required"`
  34. Domain string `form:"domain" json:"domain"`
  35. CustomHost string `form:"custom_host" json:"custom_host"`
  36. WafGatewayGroupId int `form:"waf_gateway_group_id" json:"waf_gateway_group_id"`
  37. WafWebLimitId int `form:"waf_web_limit_id" json:"waf_web_limit_id"`
  38. CcCount int `form:"cc_count" json:"cc_count" default:"0"`
  39. CcDuration string `form:"cc_duration" json:"cc_duration" default:"0s"`
  40. CcBlockCount int `form:"cc_block_count" json:"cc_block_count" default:"0"`
  41. CcBlockDuration string `form:"cc_block_duration" json:"cc_block_duration" default:"0s"`
  42. Cc4xxCount int `form:"cc_4xx_count" json:"cc_4xx_count" default:"0"`
  43. Cc4xxDuration string `form:"cc_4xx_duration" json:"cc_4xx_duration" default:"0s"`
  44. Cc4xxBlockCount int `form:"cc_4xx_block_count" json:"cc_4xx_block_count" default:"0"`
  45. Cc4xxBlockDuration string `form:"cc_4xx_block_duration" json:"cc_4xx_block_duration" default:"0s"`
  46. Cc5xxCount int `form:"cc_5xx_count" json:"cc_5xx_count" default:"0"`
  47. Cc5xxDuration string `form:"cc_5xx_duration" json:"cc_5xx_duration" default:"0s"`
  48. Cc5xxBlockCount int `form:"cc_5xx_block_count" json:"cc_5xx_block_count" default:"0"`
  49. Cc5xxBlockDuration string `form:"cc_5xx_block_duration" json:"cc_5xx_block_duration" default:"0s"`
  50. BackendList []BackendList `form:"backend_list" json:"backend_list"`
  51. AllowIpList []string `form:"allow_ip_list" json:"allow_ip_list"`
  52. DenyIpList []string `form:"deny_ip_list" json:"deny_ip_list"`
  53. AccessRule string `form:"access_rule" json:"access_rule"`
  54. IsHttps int `form:"is_https" json:"is_https" default:"0"`
  55. Comment string `form:"comment" json:"comment"`
  56. }
  57. type DeleteWebForwardingRequest struct {
  58. Id int `form:"id" json:"id" binding:"required"`
  59. }
  60. type WebForwardingRequest struct {
  61. Id int `form:"id" json:"id"`
  62. HostId int `form:"host_id" json:"host_id" binding:"required"`
  63. Uid int `form:"uid" json:"uid" binding:"required"`
  64. WebForwardingData WebForwardingDataRequest `form:"data" json:"data"`
  65. }
  66. type WebForwardingRequire struct {
  67. HostId int `form:"host_id" json:"host_id" binding:"required"`
  68. Uid int `form:"uid" json:"uid" binding:"required"`
  69. Comment string `form:"comment" json:"comment" binding:"required"`
  70. WafGatewayGroupId int `form:"waf_gateway_group_id" json:"waf_gateway_group_id"`
  71. WafWebLimitRuleId int `form:"waf_web_limit_id" json:"waf_web_limit_id"`
  72. Tag string `form:"tag" json:"tag" binding:"required"`
  73. }
  74. type BackendList struct {
  75. Addr string `json:"addr,omitempty" form:"addr"`
  76. Protocol string `json:"protocol,omitempty" form:"protocol"`
  77. Timeout string `json:"timeout,omitempty" form:"timeout" default:"30s"`
  78. ProxyV1 bool `json:"proxy_v1,omitempty" form:"proxy_v1" default:"false"`
  79. }