Something went wrong. Try again.
[READ-ONLY] Mirror of https://github.com/openstatusHQ/openstatus. ๐ซ Status page with uptime monitoring & API monitoring as code ๐ซ openstatus.dev
bun drizzle-orm monitoring monitoring-as-code nextjs observability on-call open-source shadcn-ui status-page statuspage synthetic-monitoring tinybird turso uptime uptime-checker uptime-monitor
Something went wrong. Try again.
6.5 kB ยท 181 lines
Go
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182package request
import ( "encoding/json")
type AssertionType string
const ( AssertionHeader AssertionType = "header" AssertionTextBody AssertionType = "textBody" AssertionStatus AssertionType = "status" AssertionJsonBody AssertionType = "jsonBody" AssertionDnsRecord AssertionType = "dnsRecord")
type StringComparator string
const ( StringContains StringComparator = "contains" StringNotContains StringComparator = "not_contains" StringEquals StringComparator = "eq" StringNotEquals StringComparator = "not_eq" StringEmpty StringComparator = "empty" StringNotEmpty StringComparator = "not_empty" StringGreaterThan StringComparator = "gt" StringGreaterThanEqual StringComparator = "gte" StringLowerThan StringComparator = "lt" StringLowerThanEqual StringComparator = "lte")
type NumberComparator string
const ( NumberEquals NumberComparator = "eq" NumberNotEquals NumberComparator = "not_eq" NumberGreaterThan NumberComparator = "gt" NumberGreaterThanEqual NumberComparator = "gte" NumberLowerThan NumberComparator = "lt" NumberLowerThanEqual NumberComparator = "lte")
type RecordComparator string
const ( RecordEquals RecordComparator = "eq" RecordNotEquals RecordComparator = "not_eq" RecordContains RecordComparator = "contains" RecordNotContains RecordComparator = "not_contains")
type Record string
const ( RecordA Record = "A" RecordAAAA Record = "AAAA" RecordCNAME Record = "CNAME" RecordMX Record = "MX" RecordNS Record = "NS" RecordTXT Record = "TXT")
type Assertion struct { AssertionType AssertionType `json:"type"` Comparator json.RawMessage `json:"compare"` RawTarget json.RawMessage `json:"target"`}
type HttpCheckerRequest struct { Headers []struct { Key string `json:"key"` Value string `json:"value"` } `json:"headers,omitempty"` WorkspaceID string `json:"workspaceId"` URL string `json:"url"` MonitorID string `json:"monitorId"` Method string `json:"method"` Status string `json:"status"` Body string `json:"body"` Trigger string `json:"trigger,omitempty"` RawAssertions []json.RawMessage `json:"assertions,omitempty"` CronTimestamp int64 `json:"cronTimestamp"` Timeout int64 `json:"timeout"` DegradedAfter int64 `json:"degradedAfter,omitempty"` Retry int64 `json:"retry,omitempty"` FollowRedirects bool `json:"followRedirects,omitempty"` OtelConfig struct { Endpoint string `json:"endpoint"` Headers map[string]string `json:"headers,omitempty"` } `json:"otelConfig"`}
type TCPCheckerRequest struct { Status string `json:"status"` WorkspaceID string `json:"workspaceId"` URI string `json:"uri"` MonitorID string `json:"monitorId"` Trigger string `json:"trigger,omitempty"` RawAssertions []json.RawMessage `json:"assertions,omitempty"` RequestId int64 `json:"requestId,omitempty"` CronTimestamp int64 `json:"cronTimestamp"` Timeout int64 `json:"timeout"` DegradedAfter int64 `json:"degradedAfter,omitempty"` Retry int64 `json:"retry,omitempty"` OtelConfig struct { Endpoint string `json:"endpoint"` Headers map[string]string `json:"headers,omitempty"` } `json:"otelConfig"`}
type ICMPCheckerRequest struct { Status string `json:"status"` WorkspaceID string `json:"workspaceId"` URI string `json:"uri"` MonitorID string `json:"monitorId"` Trigger string `json:"trigger,omitempty"` RequestId int64 `json:"requestId,omitempty"` CronTimestamp int64 `json:"cronTimestamp"` Timeout int64 `json:"timeout"` DegradedAfter int64 `json:"degradedAfter,omitempty"` Retry int64 `json:"retry,omitempty"` OtelConfig struct { Endpoint string `json:"endpoint"` Headers map[string]string `json:"headers,omitempty"` } `json:"otelConfig"`}
type GRPCCheckerRequest struct { Status string `json:"status"` WorkspaceID string `json:"workspaceId"` URI string `json:"uri"` MonitorID string `json:"monitorId"` Service string `json:"service,omitempty"` TLS string `json:"tls,omitempty"` Trigger string `json:"trigger,omitempty"` Headers map[string]string `json:"headers,omitempty"` RequestId int64 `json:"requestId,omitempty"` CronTimestamp int64 `json:"cronTimestamp"` Timeout int64 `json:"timeout"` DegradedAfter int64 `json:"degradedAfter,omitempty"` Retry int64 `json:"retry,omitempty"` OtelConfig struct { Endpoint string `json:"endpoint"` Headers map[string]string `json:"headers,omitempty"` } `json:"otelConfig"`}
type TCPRequest struct { WorkspaceID string `json:"workspaceId"` URL string `json:"url"` MonitorID string `json:"monitorId"` CronTimestamp int64 `json:"cronTimestamp"` Timeout int64 `json:"timeout"`}
type PingRequest struct { Headers map[string]string `json:"headers"` URL string `json:"url"` Method string `json:"method"` Body string `json:"body"` RequestId int64 `json:"requestId"` WorkspaceId int64 `json:"workspaceId"`}
type DNSCheckerRequest struct { Status string `json:"status"` WorkspaceID string `json:"workspaceId"` URI string `json:"uri"` MonitorID string `json:"monitorId"` Trigger string `json:"trigger,omitempty"` RawAssertions []json.RawMessage `json:"assertions,omitempty"` RequestId int64 `json:"requestId,omitempty"` CronTimestamp int64 `json:"cronTimestamp"` Timeout int64 `json:"timeout"` DegradedAfter int64 `json:"degradedAfter,omitempty"` Retry int64 `json:"retry,omitempty"` OtelConfig struct { Endpoint string `json:"endpoint"` Headers map[string]string `json:"headers,omitempty"` } `json:"otelConfig"`}