package checker import ( "encoding/json" "fmt" "html" "sort" "strings" "time" sdk "git.happydns.org/checker-sdk-go/checker" ) // GetHTMLReport falls back to a data-only render when the host hasn't // threaded rule states into the context yet. func (p *delegationProvider) GetHTMLReport(ctx sdk.ReportContext) (string, error) { var data DelegationData if raw := ctx.Data(); len(raw) > 0 { if err := json.Unmarshal(raw, &data); err != nil { return "", fmt.Errorf("decoding delegation data: %w", err) } } states := ctx.States() var b strings.Builder b.WriteString(`
`) b.WriteString(`No rule states were threaded into this report; rendering raw observation only.
`) writeDataOnly(&b, &data) b.WriteString(``) return b.String(), nil } writeBanner(&b, states) writeFixTheseFirst(&b, states) writeAllStates(&b, states) writeDataOnly(&b, &data) b.WriteString(`