package caldav import ( "net/http" "git.happydns.org/checker-dav/internal/dav" sdk "git.happydns.org/checker-sdk-go/checker" ) // Provider returns the CalDAV observation provider. // // The returned value implements sdk.ObservationProvider, plus the optional // CheckerDefinitionProvider, CheckerHTMLReporter, and EndpointDiscoverer // interfaces so the SDK's HTTP server exposes /definition, /evaluate, // /report, and forwards discovered TLS endpoints to downstream checkers. func Provider() sdk.ObservationProvider { return &caldavProvider{} } type caldavProvider struct{} func (p *caldavProvider) Key() sdk.ObservationKey { return ObservationKey } func (p *caldavProvider) Definition() *sdk.CheckerDefinition { return Definition() } func (p *caldavProvider) RenderForm() []sdk.CheckerOptionField { return dav.InteractiveForm() } func (p *caldavProvider) ParseForm(r *http.Request) (sdk.CheckerOptions, error) { return dav.ParseInteractiveForm(r) }