Documentation
¶
Index ¶
- Constants
- func Duration(s string, def time.Duration) time.Duration
- func Md5(b []byte) []byte
- func Md5ToString(b []byte) string
- func NormalizeCountries(countries []string) []string
- func NormalizeCountry(s string) string
- func NormalizeURI(s string) string
- func URIScheme(uri string) string
- type Detector
- type DetectorOptions
- type Detectors
- type Notifier
- type NotifierConfiguration
- type NotifierProbability
- type Notifiers
- type Observability
- func (o *Observability) Debug(obj interface{}, args ...interface{})
- func (o *Observability) Error(obj interface{}, args ...interface{})
- func (o *Observability) Info(obj interface{}, args ...interface{})
- func (o *Observability) Logs() *sre.Logs
- func (o *Observability) Metrics() *sre.Metrics
- func (o *Observability) Panic(obj interface{}, args ...interface{})
- func (o *Observability) Warn(obj interface{}, args ...interface{})
- type ObserveCountries
- type ObserveEndpoint
- type ObserveEndpoints
- type ObserveProbability
- type ObserveResult
- type Observer
- type ObserverConfiguration
- type Observers
- type Source
- type SourceEndpoint
- type SourceEndpointResponse
- type SourceEndpoints
- type SourceResult
- type Sources
- type TriggerOptions
- type Triggers
- type URI
- type Verifier
- type VerifierConfiguration
- type Verifiers
- type VerifyCountries
- type VerifyEndpoint
- type VerifyEndpoints
- type VerifyProbability
- type VerifyResult
- type VerifyStatus
- type VerifyStatusFlag
- type VerifyStatusFlags
Constants ¶
View Source
const ( URISchemeUnknown = "" URISchemeHttp = "http" URISchemeHttps = "https" )
View Source
const ( URIPortUnknown = "" URIPortHttp = "80" URIPortHttps = "443" )
Variables ¶
This section is empty.
Functions ¶
func Md5ToString ¶
func NormalizeCountries ¶
func NormalizeCountry ¶
func NormalizeURI ¶
Types ¶
type DetectorOptions ¶
type DetectorOptions struct {
StartTimeout int
}
type Detectors ¶
type Detectors struct {
// contains filtered or unexported fields
}
func NewDetectors ¶
func NewDetectors(options *DetectorOptions, observability *Observability) *Detectors
type Notifier ¶
type Notifier interface { Name() string Notify(vr *VerifyResult) error }
type NotifierConfiguration ¶
type NotifierConfiguration struct { Notifier Notifier Probability NotifierProbability }
type NotifierProbability ¶
type NotifierProbability = float64
type Notifiers ¶
type Notifiers struct {
// contains filtered or unexported fields
}
func NewNotifiers ¶
func NewNotifiers(observability *Observability) *Notifiers
func (*Notifiers) FindConfigurationByPattern ¶
func (ns *Notifiers) FindConfigurationByPattern(pattern string) []*NotifierConfiguration
func (*Notifiers) GetDefaultConfigurations ¶
func (ns *Notifiers) GetDefaultConfigurations() []*NotifierConfiguration
type Observability ¶
type Observability struct {
// contains filtered or unexported fields
}
func NewObservability ¶
func NewObservability(logs *sre.Logs, metrics *sre.Metrics) *Observability
func (*Observability) Debug ¶
func (o *Observability) Debug(obj interface{}, args ...interface{})
func (*Observability) Error ¶
func (o *Observability) Error(obj interface{}, args ...interface{})
func (*Observability) Info ¶
func (o *Observability) Info(obj interface{}, args ...interface{})
func (*Observability) Logs ¶
func (o *Observability) Logs() *sre.Logs
func (*Observability) Metrics ¶
func (o *Observability) Metrics() *sre.Metrics
func (*Observability) Panic ¶ added in v0.0.3
func (o *Observability) Panic(obj interface{}, args ...interface{})
Panic implements common.Logger.
func (*Observability) Warn ¶
func (o *Observability) Warn(obj interface{}, args ...interface{})
type ObserveCountries ¶
type ObserveCountries = map[string]*ObserveProbability
type ObserveEndpoint ¶
type ObserveEndpoint struct { URI string Countries ObserveCountries IPs []string Response *SourceEndpointResponse }
type ObserveEndpoints ¶
type ObserveEndpoints struct {
// contains filtered or unexported fields
}
func (*ObserveEndpoints) Add ¶
func (oes *ObserveEndpoints) Add(e ...*ObserveEndpoint)
func (*ObserveEndpoints) Clone ¶
func (oes *ObserveEndpoints) Clone(oe *ObserveEndpoint) *ObserveEndpoint
func (*ObserveEndpoints) IsEmpty ¶
func (oes *ObserveEndpoints) IsEmpty() bool
func (*ObserveEndpoints) Items ¶
func (oes *ObserveEndpoints) Items() []*ObserveEndpoint
func (*ObserveEndpoints) Reduce ¶
func (oes *ObserveEndpoints) Reduce() ObserveEndpoints
type ObserveProbability ¶
type ObserveProbability = float64
type ObserveResult ¶
type ObserveResult struct { Configuration *ObserverConfiguration Endpoints ObserveEndpoints }
type Observer ¶
type Observer interface { Name() string Observe(sr *SourceResult) (*ObserveResult, error) }
type ObserverConfiguration ¶
type ObserverConfiguration struct { Observer Observer Probability ObserveProbability }
type Observers ¶
type Observers struct {
// contains filtered or unexported fields
}
func NewObservers ¶
func NewObservers(observability *Observability) *Observers
func (*Observers) FindConfigurationByPattern ¶
func (ob *Observers) FindConfigurationByPattern(pattern string) []*ObserverConfiguration
func (*Observers) GetDefaultConfigurations ¶
func (ob *Observers) GetDefaultConfigurations() []*ObserverConfiguration
type SourceEndpoint ¶
type SourceEndpoint struct { URI string `json:"uri"` Disabled bool `json:"disabled"` Countries []string `json:"countries,omitempty"` IPs []string `json:"ips,omitempty"` Detectors []string `json:"detectors,omitempty"` Response *SourceEndpointResponse `json:"response,omitempty"` }
func CheckSourceEndpoints ¶
func CheckSourceEndpoints(es []*SourceEndpoint) []*SourceEndpoint
type SourceEndpointResponse ¶
type SourceEndpoints ¶
type SourceEndpoints struct {
// contains filtered or unexported fields
}
func (*SourceEndpoints) Add ¶
func (ses *SourceEndpoints) Add(e ...*SourceEndpoint)
func (*SourceEndpoints) Clone ¶
func (ses *SourceEndpoints) Clone(se *SourceEndpoint) *SourceEndpoint
func (*SourceEndpoints) IsEmpty ¶
func (ses *SourceEndpoints) IsEmpty() bool
func (*SourceEndpoints) Items ¶
func (ses *SourceEndpoints) Items() []*SourceEndpoint
func (*SourceEndpoints) Reduce ¶
func (ses *SourceEndpoints) Reduce() SourceEndpoints
type SourceResult ¶
type SourceResult struct {
Endpoints SourceEndpoints
}
type Sources ¶
type Sources struct {
// contains filtered or unexported fields
}
func NewSources ¶
func NewSources(observability *Observability) *Sources
func (*Sources) FindByName ¶
type TriggerOptions ¶
type TriggerOptions struct {
TTL string
}
type Triggers ¶
type Triggers struct {
// contains filtered or unexported fields
}
func NewTriggers ¶
func NewTriggers(options *TriggerOptions, observability *Observability) *Triggers
func (*Triggers) Update ¶
func (t *Triggers) Update(key string, ep *VerifyEndpoint)
type URI ¶
type Verifier ¶
type Verifier interface { Name() string Verify(or *ObserveResult) (*VerifyResult, error) }
type VerifierConfiguration ¶
type VerifierConfiguration struct { Verifier Verifier Probability VerifyProbability }
type Verifiers ¶
type Verifiers struct {
// contains filtered or unexported fields
}
func NewVerifiers ¶
func NewVerifiers(observability *Observability) *Verifiers
func (*Verifiers) FindConfigurationByPattern ¶
func (vs *Verifiers) FindConfigurationByPattern(pattern string) []*VerifierConfiguration
func (*Verifiers) GetDefaultConfigurations ¶
func (vs *Verifiers) GetDefaultConfigurations() []*VerifierConfiguration
type VerifyCountries ¶
type VerifyCountries = map[string]*VerifyStatus
type VerifyEndpoint ¶
type VerifyEndpoint struct { URI string Countries VerifyCountries }
func (*VerifyEndpoint) Ident ¶
func (ve *VerifyEndpoint) Ident() string
type VerifyEndpoints ¶
type VerifyEndpoints struct {
// contains filtered or unexported fields
}
func (*VerifyEndpoints) Add ¶
func (ves *VerifyEndpoints) Add(e ...*VerifyEndpoint)
func (*VerifyEndpoints) Clone ¶
func (ves *VerifyEndpoints) Clone(ve *VerifyEndpoint) *VerifyEndpoint
func (*VerifyEndpoints) IsEmpty ¶
func (ves *VerifyEndpoints) IsEmpty() bool
func (*VerifyEndpoints) Items ¶
func (ves *VerifyEndpoints) Items() []*VerifyEndpoint
func (*VerifyEndpoints) Reduce ¶
func (ves *VerifyEndpoints) Reduce() VerifyEndpoints
type VerifyProbability ¶
type VerifyProbability = float64
type VerifyResult ¶
type VerifyResult struct { Configuration *VerifierConfiguration Endpoints VerifyEndpoints }
type VerifyStatus ¶
type VerifyStatus struct { Probability *VerifyProbability Flags VerifyStatusFlags }
type VerifyStatusFlag ¶
type VerifyStatusFlag = string
const ( VerifyStatusFlagWrongIPAddress VerifyStatusFlag = "wrong_ip_address" VerifyStatusFlagWrongResponseCode VerifyStatusFlag = "wrong_response_code" )
type VerifyStatusFlags ¶
type VerifyStatusFlags = map[VerifyStatusFlag]bool
Click to show internal directories.
Click to hide internal directories.