checker-dav/carddav/report.go
Pierre-Olivier Mercier aae1452e12 Initial commit
CalDAV and CardDAV checkers sharing a single Go module. Discovery follows
RFC 6764 (/.well-known + SRV/TXT), authenticated probes cover principal,
home-set, collections and a minimal REPORT query on top of go-webdav.
Common shape in internal/dav/; CalDAV adds a scheduling rule.

Surfaces its context URL (and each secure-SRV target) as TLS endpoints via
the EndpointDiscoverer interface, so the dedicated TLS checker can pick
them up without re-parsing observations.

HTML report foregrounds common misconfigs (well-known returning 200,
missing SRV, plaintext-only SRV, missing DAV capability, skipped auth
phase) as action-item callouts before the full phase breakdown.
2026-04-19 13:44:10 +07:00

17 lines
399 B
Go

package carddav
import (
"encoding/json"
"fmt"
"git.happydns.org/checker-dav/internal/dav"
)
func (p *carddavProvider) GetHTMLReport(raw json.RawMessage) (string, error) {
var d dav.Observation
if err := json.Unmarshal(raw, &d); err != nil {
return "", fmt.Errorf("failed to unmarshal carddav report: %w", err)
}
d.Kind = dav.KindCardDAV
return dav.RenderReport(&d, "CardDAV Server")
}