forked from TrueCloudLab/lego
8aa797f49d
This type allows for implementing DNS ChallengeProviders that require an unsually long timeout when checking for record propagation.
28 lines
1.1 KiB
Go
28 lines
1.1 KiB
Go
package acme
|
|
|
|
import "time"
|
|
|
|
// ChallengeProvider enables implementing a custom challenge
|
|
// provider. Present presents the solution to a challenge available to
|
|
// be solved. CleanUp will be called by the challenge if Present ends
|
|
// in a non-error state.
|
|
type ChallengeProvider interface {
|
|
Present(domain, token, keyAuth string) error
|
|
CleanUp(domain, token, keyAuth string) error
|
|
}
|
|
|
|
// ChallengeProviderTimeout allows for implementing a
|
|
// ChallengeProvider where an unusually long timeout is required when
|
|
// waiting for an ACME challenge to be satisfied, such as when
|
|
// checking for DNS record progagation. If an implementor of a
|
|
// ChallengeProvider provides a Timeout method, then the return values
|
|
// of the Timeout method will be used when appropriate by the acme
|
|
// package. The interval value is the time between checks.
|
|
//
|
|
// The default values used for timeout and interval are 60 seconds and
|
|
// 2 seconds respectively. These are used when no Timeout method is
|
|
// defined for the ChallengeProvider.
|
|
type ChallengeProviderTimeout interface {
|
|
ChallengeProvider
|
|
Timeout() (timeout, interval time.Duration)
|
|
}
|