-
Notifications
You must be signed in to change notification settings - Fork 55
/
Copy pathtypes.go
277 lines (236 loc) · 11 KB
/
types.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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
package security
// Code generated by cdproto-gen. DO NOT EDIT.
import (
"fmt"
"github.com/chromedp/cdproto/cdp"
"github.com/mailru/easyjson"
"github.com/mailru/easyjson/jlexer"
"github.com/mailru/easyjson/jwriter"
)
// CertificateID an internal certificate ID value.
//
// See: https://chromedevtools.github.io/devtools-protocol/tot/Security#type-CertificateId
type CertificateID int64
// Int64 returns the CertificateID as int64 value.
func (t CertificateID) Int64() int64 {
return int64(t)
}
// MixedContentType a description of mixed content (HTTP resources on HTTPS
// pages), as defined by https://www.w3.org/TR/mixed-content/#categories.
//
// See: https://chromedevtools.github.io/devtools-protocol/tot/Security#type-MixedContentType
type MixedContentType string
// String returns the MixedContentType as string value.
func (t MixedContentType) String() string {
return string(t)
}
// MixedContentType values.
const (
MixedContentTypeBlockable MixedContentType = "blockable"
MixedContentTypeOptionallyBlockable MixedContentType = "optionally-blockable"
MixedContentTypeNone MixedContentType = "none"
)
// MarshalEasyJSON satisfies easyjson.Marshaler.
func (t MixedContentType) MarshalEasyJSON(out *jwriter.Writer) {
out.String(string(t))
}
// MarshalJSON satisfies json.Marshaler.
func (t MixedContentType) MarshalJSON() ([]byte, error) {
return easyjson.Marshal(t)
}
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *MixedContentType) UnmarshalEasyJSON(in *jlexer.Lexer) {
v := in.String()
switch MixedContentType(v) {
case MixedContentTypeBlockable:
*t = MixedContentTypeBlockable
case MixedContentTypeOptionallyBlockable:
*t = MixedContentTypeOptionallyBlockable
case MixedContentTypeNone:
*t = MixedContentTypeNone
default:
in.AddError(fmt.Errorf("unknown MixedContentType value: %v", v))
}
}
// UnmarshalJSON satisfies json.Unmarshaler.
func (t *MixedContentType) UnmarshalJSON(buf []byte) error {
return easyjson.Unmarshal(buf, t)
}
// State the security level of a page or resource.
//
// See: https://chromedevtools.github.io/devtools-protocol/tot/Security#type-SecurityState
type State string
// String returns the State as string value.
func (t State) String() string {
return string(t)
}
// State values.
const (
StateUnknown State = "unknown"
StateNeutral State = "neutral"
StateInsecure State = "insecure"
StateSecure State = "secure"
StateInfo State = "info"
StateInsecureBroken State = "insecure-broken"
)
// MarshalEasyJSON satisfies easyjson.Marshaler.
func (t State) MarshalEasyJSON(out *jwriter.Writer) {
out.String(string(t))
}
// MarshalJSON satisfies json.Marshaler.
func (t State) MarshalJSON() ([]byte, error) {
return easyjson.Marshal(t)
}
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *State) UnmarshalEasyJSON(in *jlexer.Lexer) {
v := in.String()
switch State(v) {
case StateUnknown:
*t = StateUnknown
case StateNeutral:
*t = StateNeutral
case StateInsecure:
*t = StateInsecure
case StateSecure:
*t = StateSecure
case StateInfo:
*t = StateInfo
case StateInsecureBroken:
*t = StateInsecureBroken
default:
in.AddError(fmt.Errorf("unknown State value: %v", v))
}
}
// UnmarshalJSON satisfies json.Unmarshaler.
func (t *State) UnmarshalJSON(buf []byte) error {
return easyjson.Unmarshal(buf, t)
}
// CertificateSecurityState details about the security state of the page
// certificate.
//
// See: https://chromedevtools.github.io/devtools-protocol/tot/Security#type-CertificateSecurityState
type CertificateSecurityState struct {
Protocol string `json:"protocol"` // Protocol name (e.g. "TLS 1.2" or "QUIC").
KeyExchange string `json:"keyExchange"` // Key Exchange used by the connection, or the empty string if not applicable.
KeyExchangeGroup string `json:"keyExchangeGroup,omitempty"` // (EC)DH group used by the connection, if applicable.
Cipher string `json:"cipher"` // Cipher name.
Mac string `json:"mac,omitempty"` // TLS MAC. Note that AEAD ciphers do not have separate MACs.
Certificate []string `json:"certificate"` // Page certificate.
SubjectName string `json:"subjectName"` // Certificate subject name.
Issuer string `json:"issuer"` // Name of the issuing CA.
ValidFrom *cdp.TimeSinceEpoch `json:"validFrom"` // Certificate valid from date.
ValidTo *cdp.TimeSinceEpoch `json:"validTo"` // Certificate valid to (expiration) date
CertificateNetworkError string `json:"certificateNetworkError,omitempty"` // The highest priority network error code, if the certificate has an error.
CertificateHasWeakSignature bool `json:"certificateHasWeakSignature"` // True if the certificate uses a weak signature algorithm.
CertificateHasSha1signature bool `json:"certificateHasSha1Signature"` // True if the certificate has a SHA1 signature in the chain.
ModernSSL bool `json:"modernSSL"` // True if modern SSL
ObsoleteSslProtocol bool `json:"obsoleteSslProtocol"` // True if the connection is using an obsolete SSL protocol.
ObsoleteSslKeyExchange bool `json:"obsoleteSslKeyExchange"` // True if the connection is using an obsolete SSL key exchange.
ObsoleteSslCipher bool `json:"obsoleteSslCipher"` // True if the connection is using an obsolete SSL cipher.
ObsoleteSslSignature bool `json:"obsoleteSslSignature"` // True if the connection is using an obsolete SSL signature.
}
// SafetyTipStatus [no description].
//
// See: https://chromedevtools.github.io/devtools-protocol/tot/Security#type-SafetyTipStatus
type SafetyTipStatus string
// String returns the SafetyTipStatus as string value.
func (t SafetyTipStatus) String() string {
return string(t)
}
// SafetyTipStatus values.
const (
SafetyTipStatusBadReputation SafetyTipStatus = "badReputation"
SafetyTipStatusLookalike SafetyTipStatus = "lookalike"
)
// MarshalEasyJSON satisfies easyjson.Marshaler.
func (t SafetyTipStatus) MarshalEasyJSON(out *jwriter.Writer) {
out.String(string(t))
}
// MarshalJSON satisfies json.Marshaler.
func (t SafetyTipStatus) MarshalJSON() ([]byte, error) {
return easyjson.Marshal(t)
}
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *SafetyTipStatus) UnmarshalEasyJSON(in *jlexer.Lexer) {
v := in.String()
switch SafetyTipStatus(v) {
case SafetyTipStatusBadReputation:
*t = SafetyTipStatusBadReputation
case SafetyTipStatusLookalike:
*t = SafetyTipStatusLookalike
default:
in.AddError(fmt.Errorf("unknown SafetyTipStatus value: %v", v))
}
}
// UnmarshalJSON satisfies json.Unmarshaler.
func (t *SafetyTipStatus) UnmarshalJSON(buf []byte) error {
return easyjson.Unmarshal(buf, t)
}
// SafetyTipInfo [no description].
//
// See: https://chromedevtools.github.io/devtools-protocol/tot/Security#type-SafetyTipInfo
type SafetyTipInfo struct {
SafetyTipStatus SafetyTipStatus `json:"safetyTipStatus"` // Describes whether the page triggers any safety tips or reputation warnings. Default is unknown.
SafeURL string `json:"safeUrl,omitempty"` // The URL the safety tip suggested ("Did you mean?"). Only filled in for lookalike matches.
}
// VisibleSecurityState security state information about the page.
//
// See: https://chromedevtools.github.io/devtools-protocol/tot/Security#type-VisibleSecurityState
type VisibleSecurityState struct {
SecurityState State `json:"securityState"` // The security level of the page.
CertificateSecurityState *CertificateSecurityState `json:"certificateSecurityState,omitempty"` // Security state details about the page certificate.
SafetyTipInfo *SafetyTipInfo `json:"safetyTipInfo,omitempty"` // The type of Safety Tip triggered on the page. Note that this field will be set even if the Safety Tip UI was not actually shown.
SecurityStateIssueIDs []string `json:"securityStateIssueIds"` // Array of security state issues ids.
}
// StateExplanation an explanation of an factor contributing to the security
// state.
//
// See: https://chromedevtools.github.io/devtools-protocol/tot/Security#type-SecurityStateExplanation
type StateExplanation struct {
SecurityState State `json:"securityState"` // Security state representing the severity of the factor being explained.
Title string `json:"title"` // Title describing the type of factor.
Summary string `json:"summary"` // Short phrase describing the type of factor.
Description string `json:"description"` // Full text explanation of the factor.
MixedContentType MixedContentType `json:"mixedContentType"` // The type of mixed content described by the explanation.
Certificate []string `json:"certificate"` // Page certificate.
Recommendations []string `json:"recommendations,omitempty"` // Recommendations to fix any issues.
}
// CertificateErrorAction the action to take when a certificate error occurs.
// continue will continue processing the request and cancel will cancel the
// request.
//
// See: https://chromedevtools.github.io/devtools-protocol/tot/Security#type-CertificateErrorAction
type CertificateErrorAction string
// String returns the CertificateErrorAction as string value.
func (t CertificateErrorAction) String() string {
return string(t)
}
// CertificateErrorAction values.
const (
CertificateErrorActionContinue CertificateErrorAction = "continue"
CertificateErrorActionCancel CertificateErrorAction = "cancel"
)
// MarshalEasyJSON satisfies easyjson.Marshaler.
func (t CertificateErrorAction) MarshalEasyJSON(out *jwriter.Writer) {
out.String(string(t))
}
// MarshalJSON satisfies json.Marshaler.
func (t CertificateErrorAction) MarshalJSON() ([]byte, error) {
return easyjson.Marshal(t)
}
// UnmarshalEasyJSON satisfies easyjson.Unmarshaler.
func (t *CertificateErrorAction) UnmarshalEasyJSON(in *jlexer.Lexer) {
v := in.String()
switch CertificateErrorAction(v) {
case CertificateErrorActionContinue:
*t = CertificateErrorActionContinue
case CertificateErrorActionCancel:
*t = CertificateErrorActionCancel
default:
in.AddError(fmt.Errorf("unknown CertificateErrorAction value: %v", v))
}
}
// UnmarshalJSON satisfies json.Unmarshaler.
func (t *CertificateErrorAction) UnmarshalJSON(buf []byte) error {
return easyjson.Unmarshal(buf, t)
}