wip modernize code base
This commit is contained in:
parent
c562a21e8c
commit
2579999de0
37 changed files with 11104 additions and 190 deletions
50
envconfig.go
Normal file
50
envconfig.go
Normal file
|
@ -0,0 +1,50 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"crypto/x509"
|
||||
"fmt"
|
||||
"io/ioutil"
|
||||
"net/url"
|
||||
"strings"
|
||||
)
|
||||
|
||||
func (cp *CertPool) Decode(value string) error {
|
||||
*cp = CertPool{x509.NewCertPool()}
|
||||
caPEM, err := ioutil.ReadFile(value)
|
||||
if err != nil {
|
||||
return fmt.Errorf("unable to open CA file: %w", err)
|
||||
}
|
||||
ok := cp.AppendCertsFromPEM(caPEM)
|
||||
if !ok {
|
||||
return fmt.Errorf("unable to parse CA")
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (cl *CertList) Decode(value string) error {
|
||||
crlData, err := ioutil.ReadFile(value)
|
||||
if err != nil {
|
||||
return fmt.Errorf("unable to open CRL file: %w", err)
|
||||
}
|
||||
crl, err := x509.ParseCRL(crlData)
|
||||
if err != nil {
|
||||
return fmt.Errorf("unable to parse CRL file: %w", err)
|
||||
}
|
||||
*cl = CertList{crl}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (t *Targets) Decode(value string) error {
|
||||
splitted := strings.Split(value, ",")
|
||||
*t = Targets{
|
||||
targets: make([]*url.URL, len(splitted)),
|
||||
}
|
||||
for i, urlString := range splitted {
|
||||
u, err := url.Parse(urlString)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
t.targets[i] = u
|
||||
}
|
||||
return nil
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue