summaryrefslogtreecommitdiff
path: root/provider/dummy.go
blob: 1f64f6f1c233cf1689d87c1293cebd90e3cf803b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
package provider

import (
	"log/slog"
	"net/netip"
)

// a stand-in for a real provider.
// once asked to ensure a record is set,
// it will tell you what was requested,
// and not take any action.
// very useful for debugging!
type dummy struct {
	log *slog.Logger
}

var _ Provider = (*dummy)(nil)

func newDummy(log *slog.Logger) (*dummy, error) {
	return &dummy{log: log}, nil
}

func (d *dummy) Ensure(_ string, _ string, _ RecordType, addr netip.Addr) (string, bool, error) {
	d.log.Info(
		"asked to ensure record, but nothing happened",
		slog.String("addr", addr.String()),
	)
	return "", true, nil
}