Improve code documentation

This commit is contained in:
TwinProduction 2020-10-23 15:58:59 -04:00
parent c09cd9df7e
commit 1bde98868e
5 changed files with 24 additions and 4 deletions

View File

@ -12,6 +12,7 @@ var (
insecureHttpClient *http.Client
)
// GetHttpClient returns the shared HTTP client
func GetHttpClient(insecure bool) *http.Client {
if insecure {
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 {
conn, err := net.DialTimeout("tcp", address, 5*time.Second)
if err != nil {

View File

@ -29,11 +29,20 @@ type Alert struct {
Triggered bool
}
// AlertType is the type of the alert.
// The value will generally be the name of the alert provider
type AlertType string
const (
// SlackAlert is the AlertType for the slack alerting provider
SlackAlert AlertType = "slack"
// PagerDutyAlert is the AlertType for the pagerduty alerting provider
PagerDutyAlert AlertType = "pagerduty"
// TwilioAlert is the AlertType for the twilio alerting provider
TwilioAlert AlertType = "twilio"
// CustomAlert is the AlertType for the custom alerting provider
CustomAlert AlertType = "custom"
)

View File

@ -5,6 +5,7 @@ import (
"strings"
)
// Handler takes care of security for a given handler with the given security configuratioon
func Handler(handler http.HandlerFunc, security *Config) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
usernameEntered, passwordEntered, ok := r.BasicAuth()

View File

@ -1,18 +1,25 @@
package security
// Config is the security configuration for Gatus
type Config struct {
Basic *BasicConfig `yaml:"basic"`
}
// IsValid returns whether the security configuration is valid or not
func (c *Config) IsValid() bool {
return c.Basic != nil && c.Basic.IsValid()
}
// BasicConfig is the configuration for Basic authentication
type BasicConfig struct {
// 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"`
}
// IsValid returns whether the basic security configuration is valid or not
func (c *BasicConfig) IsValid() bool {
return len(c.Username) > 0 && len(c.PasswordSha512Hash) == 128
}

View File

@ -5,6 +5,7 @@ import (
"fmt"
)
// Sha512 hashes a provided string using SHA512 and returns the resulting hash as a string
func Sha512(s string) string {
hash := sha512.New()
hash.Write([]byte(s))