1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- package acme
- import (
- "encoding/json"
- "strconv"
- "github.com/go-acme/lego/v4/challenge"
- "imuslab.com/zoraxy/mod/acme/acmedns"
- )
- func GetDnsChallengeProviderByName(dnsProvider string, dnsCredentials string, ppgTimeout int) (challenge.Provider, error) {
-
- var dnsCredentialsMap map[string]interface{}
- err := json.Unmarshal([]byte(dnsCredentials), &dnsCredentialsMap)
- if err != nil {
- return nil, err
- }
-
- userDefinedPollingInterval := 2
- if dnsCredentialsMap["PollingInterval"] != nil {
- userDefinedPollingIntervalRaw := dnsCredentialsMap["PollingInterval"].(string)
- delete(dnsCredentialsMap, "PollingInterval")
- convertedPollingInterval, err := strconv.Atoi(userDefinedPollingIntervalRaw)
- if err == nil {
- userDefinedPollingInterval = convertedPollingInterval
- }
- }
- userDefinedPropagationTimeout := ppgTimeout
- if dnsCredentialsMap["PropagationTimeout"] != nil {
- userDefinedPropagationTimeoutRaw := dnsCredentialsMap["PropagationTimeout"].(string)
- delete(dnsCredentialsMap, "PropagationTimeout")
- convertedPropagationTimeout, err := strconv.Atoi(userDefinedPropagationTimeoutRaw)
- if err == nil {
-
- userDefinedPropagationTimeout = convertedPropagationTimeout
- }
- }
-
- dnsCredentialsBytes, err := json.Marshal(dnsCredentialsMap)
- if err != nil {
- return nil, err
- }
- dnsCredentials = string(dnsCredentialsBytes)
-
- return acmedns.GetDNSProviderByJsonConfig(
- dnsProvider,
- dnsCredentials,
- int64(userDefinedPropagationTimeout),
- int64(userDefinedPollingInterval),
- )
- }
|