mirror of
https://github.com/TwiN/gatus.git
synced 2024-11-24 08:53:48 +01:00
Improve code documentation
This commit is contained in:
parent
c09cd9df7e
commit
1bde98868e
@ -12,6 +12,7 @@ var (
|
|||||||
insecureHttpClient *http.Client
|
insecureHttpClient *http.Client
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// GetHttpClient returns the shared HTTP client
|
||||||
func GetHttpClient(insecure bool) *http.Client {
|
func GetHttpClient(insecure bool) *http.Client {
|
||||||
if insecure {
|
if insecure {
|
||||||
if insecureHttpClient == nil {
|
if insecureHttpClient == nil {
|
||||||
@ -35,6 +36,7 @@ func GetHttpClient(insecure bool) *http.Client {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// CanCreateConnectionToTcpService checks whether a connection can be established with a TCP service
|
||||||
func CanCreateConnectionToTcpService(address string) bool {
|
func CanCreateConnectionToTcpService(address string) bool {
|
||||||
conn, err := net.DialTimeout("tcp", address, 5*time.Second)
|
conn, err := net.DialTimeout("tcp", address, 5*time.Second)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -29,11 +29,20 @@ type Alert struct {
|
|||||||
Triggered bool
|
Triggered bool
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// AlertType is the type of the alert.
|
||||||
|
// The value will generally be the name of the alert provider
|
||||||
type AlertType string
|
type AlertType string
|
||||||
|
|
||||||
const (
|
const (
|
||||||
SlackAlert AlertType = "slack"
|
// SlackAlert is the AlertType for the slack alerting provider
|
||||||
|
SlackAlert AlertType = "slack"
|
||||||
|
|
||||||
|
// PagerDutyAlert is the AlertType for the pagerduty alerting provider
|
||||||
PagerDutyAlert AlertType = "pagerduty"
|
PagerDutyAlert AlertType = "pagerduty"
|
||||||
TwilioAlert AlertType = "twilio"
|
|
||||||
CustomAlert AlertType = "custom"
|
// TwilioAlert is the AlertType for the twilio alerting provider
|
||||||
|
TwilioAlert AlertType = "twilio"
|
||||||
|
|
||||||
|
// CustomAlert is the AlertType for the custom alerting provider
|
||||||
|
CustomAlert AlertType = "custom"
|
||||||
)
|
)
|
||||||
|
@ -5,6 +5,7 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// Handler takes care of security for a given handler with the given security configuratioon
|
||||||
func Handler(handler http.HandlerFunc, security *Config) http.HandlerFunc {
|
func Handler(handler http.HandlerFunc, security *Config) http.HandlerFunc {
|
||||||
return func(w http.ResponseWriter, r *http.Request) {
|
return func(w http.ResponseWriter, r *http.Request) {
|
||||||
usernameEntered, passwordEntered, ok := r.BasicAuth()
|
usernameEntered, passwordEntered, ok := r.BasicAuth()
|
||||||
|
@ -1,18 +1,25 @@
|
|||||||
package security
|
package security
|
||||||
|
|
||||||
|
// Config is the security configuration for Gatus
|
||||||
type Config struct {
|
type Config struct {
|
||||||
Basic *BasicConfig `yaml:"basic"`
|
Basic *BasicConfig `yaml:"basic"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// IsValid returns whether the security configuration is valid or not
|
||||||
func (c *Config) IsValid() bool {
|
func (c *Config) IsValid() bool {
|
||||||
return c.Basic != nil && c.Basic.IsValid()
|
return c.Basic != nil && c.Basic.IsValid()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// BasicConfig is the configuration for Basic authentication
|
||||||
type BasicConfig struct {
|
type BasicConfig struct {
|
||||||
Username string `yaml:"username"`
|
// Username is the name which will need to be used for a successful authentication
|
||||||
|
Username string `yaml:"username"`
|
||||||
|
|
||||||
|
// PasswordSha512Hash is the SHA512 hash of the password which will need to be used for a successful authentication
|
||||||
PasswordSha512Hash string `yaml:"password-sha512"`
|
PasswordSha512Hash string `yaml:"password-sha512"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// IsValid returns whether the basic security configuration is valid or not
|
||||||
func (c *BasicConfig) IsValid() bool {
|
func (c *BasicConfig) IsValid() bool {
|
||||||
return len(c.Username) > 0 && len(c.PasswordSha512Hash) == 128
|
return len(c.Username) > 0 && len(c.PasswordSha512Hash) == 128
|
||||||
}
|
}
|
||||||
|
@ -5,6 +5,7 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// Sha512 hashes a provided string using SHA512 and returns the resulting hash as a string
|
||||||
func Sha512(s string) string {
|
func Sha512(s string) string {
|
||||||
hash := sha512.New()
|
hash := sha512.New()
|
||||||
hash.Write([]byte(s))
|
hash.Write([]byte(s))
|
||||||
|
Loading…
Reference in New Issue
Block a user