/
input.go
40 lines (35 loc) · 1.63 KB
/
input.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
package models
type SchemaValidationInput struct {
ID string `json:"id,omitempty"`
OASSchema string `json:"OasSchema"`
}
type AdvancedSettingInput struct {
ID string `json:"id,omitempty"`
IllegalHttpMethods string `json:"illegalHttpMethods,omitempty"`
BodySize int `json:"bodySize,omitempty"`
URLSize int `json:"urlSize,omitempty"`
HeaderSize int `json:"headerSize,omitempty"`
MaxObjectDepth int `json:"maxObjectDepth,omitempty"`
}
type APIAttacksInput struct {
ID string `json:"id,omitempty"`
MinimumSeverity string `json:"minimumSeverity,omitempty"`
AdvancedSetting AdvancedSettingInput `json:"advancedSetting,omitempty"`
}
type IPSInput struct {
ID string `json:"id,omitempty"`
PerformanceImpact string `json:"performanceImpact,omitempty"`
SeverityLevel string `json:"severityLevel,omitempty"`
ProtectionsFromYear string `json:"protectionsFromYear,omitempty"`
HighConfidence string `json:"highConfidence,omitempty"`
MediumConfidence string `json:"mediumConfidence,omitempty"`
LowConfidence string `json:"lowConfidence,omitempty"`
}
// CreateWebAPIPracticeInput represents the api input for creating a web API practice
type CreateWebAPIPracticeInput struct {
Name string `json:"name"`
Visibility string `json:"visibility,omitempty"`
IPS IPSInput `json:"IPS,omitempty"`
APIAttacks APIAttacksInput `json:"APIAttacks,omitempty"`
SchemaValidation SchemaValidationInput `json:"SchemaValidation,omitempty"`
}