964b7dee3f
* add tls config * add TLSConfig to acme provider
38 lines
774 B
Go
38 lines
774 B
Go
package autocert
|
|
|
|
import (
|
|
"os"
|
|
"path/filepath"
|
|
"runtime"
|
|
)
|
|
|
|
func homeDir() string {
|
|
if runtime.GOOS == "windows" {
|
|
return os.Getenv("HOMEDRIVE") + os.Getenv("HOMEPATH")
|
|
}
|
|
if h := os.Getenv("HOME"); h != "" {
|
|
return h
|
|
}
|
|
return "/"
|
|
}
|
|
|
|
func cacheDir() string {
|
|
const base = "golang-autocert"
|
|
switch runtime.GOOS {
|
|
case "darwin":
|
|
return filepath.Join(homeDir(), "Library", "Caches", base)
|
|
case "windows":
|
|
for _, ev := range []string{"APPDATA", "CSIDL_APPDATA", "TEMP", "TMP"} {
|
|
if v := os.Getenv(ev); v != "" {
|
|
return filepath.Join(v, base)
|
|
}
|
|
}
|
|
// Worst case:
|
|
return filepath.Join(homeDir(), base)
|
|
}
|
|
if xdg := os.Getenv("XDG_CACHE_HOME"); xdg != "" {
|
|
return filepath.Join(xdg, base)
|
|
}
|
|
return filepath.Join(homeDir(), ".cache", base)
|
|
}
|