Openstatus www.openstatus.dev
at 4c0f4c00a38753a5d0dfd7e7b7b7706dec6f1503 144 lines 5.0 kB view raw
1package request 2 3import ( 4 "encoding/json" 5) 6 7type AssertionType string 8 9const ( 10 AssertionHeader AssertionType = "header" 11 AssertionTextBody AssertionType = "textBody" 12 AssertionStatus AssertionType = "status" 13 AssertionJsonBody AssertionType = "jsonBody" 14 AssertionDnsRecord AssertionType = "dnsRecord" 15) 16 17type StringComparator string 18 19const ( 20 StringContains StringComparator = "contains" 21 StringNotContains StringComparator = "not_contains" 22 StringEquals StringComparator = "eq" 23 StringNotEquals StringComparator = "not_eq" 24 StringEmpty StringComparator = "empty" 25 StringNotEmpty StringComparator = "not_empty" 26 StringGreaterThan StringComparator = "gt" 27 StringGreaterThanEqual StringComparator = "gte" 28 StringLowerThan StringComparator = "lt" 29 StringLowerThanEqual StringComparator = "lte" 30) 31 32type NumberComparator string 33 34const ( 35 NumberEquals NumberComparator = "eq" 36 NumberNotEquals NumberComparator = "not_eq" 37 NumberGreaterThan NumberComparator = "gt" 38 NumberGreaterThanEqual NumberComparator = "gte" 39 NumberLowerThan NumberComparator = "lt" 40 NumberLowerThanEqual NumberComparator = "lte" 41) 42 43type RecordComparator string 44 45const ( 46 RecordEquals RecordComparator = "eq" 47 RecordNotEquals RecordComparator = "not_eq" 48 RecordContains RecordComparator = "contains" 49 RecordNotContains RecordComparator = "not_contains" 50) 51 52type Record string 53 54const ( 55 RecordA Record = "A" 56 RecordAAAA Record = "AAAA" 57 RecordCNAME Record = "CNAME" 58 RecordMX Record = "MX" 59 RecordNS Record = "NS" 60 RecordTXT Record = "TXT" 61) 62 63type Assertion struct { 64 AssertionType AssertionType `json:"type"` 65 Comparator json.RawMessage `json:"compare"` 66 RawTarget json.RawMessage `json:"target"` 67} 68 69type HttpCheckerRequest struct { 70 Headers []struct { 71 Key string `json:"key"` 72 Value string `json:"value"` 73 } `json:"headers,omitempty"` 74 WorkspaceID string `json:"workspaceId"` 75 URL string `json:"url"` 76 MonitorID string `json:"monitorId"` 77 Method string `json:"method"` 78 Status string `json:"status"` 79 Body string `json:"body"` 80 Trigger string `json:"trigger,omitempty"` 81 RawAssertions []json.RawMessage `json:"assertions,omitempty"` 82 CronTimestamp int64 `json:"cronTimestamp"` 83 Timeout int64 `json:"timeout"` 84 DegradedAfter int64 `json:"degradedAfter,omitempty"` 85 Retry int64 `json:"retry,omitempty"` 86 FollowRedirects bool `json:"followRedirects,omitempty"` 87 OtelConfig struct { 88 Endpoint string `json:"endpoint"` 89 Headers map[string]string `json:"headers,omitempty"` 90 } `json:"otelConfig"` 91} 92 93type TCPCheckerRequest struct { 94 Status string `json:"status"` 95 WorkspaceID string `json:"workspaceId"` 96 URI string `json:"uri"` 97 MonitorID string `json:"monitorId"` 98 Trigger string `json:"trigger,omitempty"` 99 RawAssertions []json.RawMessage `json:"assertions,omitempty"` 100 RequestId int64 `json:"requestId,omitempty"` 101 CronTimestamp int64 `json:"cronTimestamp"` 102 Timeout int64 `json:"timeout"` 103 DegradedAfter int64 `json:"degradedAfter,omitempty"` 104 Retry int64 `json:"retry,omitempty"` 105 OtelConfig struct { 106 Endpoint string `json:"endpoint"` 107 Headers map[string]string `json:"headers,omitempty"` 108 } `json:"otelConfig"` 109} 110 111type TCPRequest struct { 112 WorkspaceID string `json:"workspaceId"` 113 URL string `json:"url"` 114 MonitorID string `json:"monitorId"` 115 CronTimestamp int64 `json:"cronTimestamp"` 116 Timeout int64 `json:"timeout"` 117} 118 119type PingRequest struct { 120 Headers map[string]string `json:"headers"` 121 URL string `json:"url"` 122 Method string `json:"method"` 123 Body string `json:"body"` 124 RequestId int64 `json:"requestId"` 125 WorkspaceId int64 `json:"workspaceId"` 126} 127 128type DNSCheckerRequest struct { 129 Status string `json:"status"` 130 WorkspaceID string `json:"workspaceId"` 131 URI string `json:"uri"` 132 MonitorID string `json:"monitorId"` 133 Trigger string `json:"trigger,omitempty"` 134 RawAssertions []json.RawMessage `json:"assertions,omitempty"` 135 RequestId int64 `json:"requestId,omitempty"` 136 CronTimestamp int64 `json:"cronTimestamp"` 137 Timeout int64 `json:"timeout"` 138 DegradedAfter int64 `json:"degradedAfter,omitempty"` 139 Retry int64 `json:"retry,omitempty"` 140 OtelConfig struct { 141 Endpoint string `json:"endpoint"` 142 Headers map[string]string `json:"headers,omitempty"` 143 } `json:"otelConfig"` 144}