[agent/codex:gpt-5.3-codex-spark] Read docs/RFC.md fully. Find ONE feature described in the sp... #16
2 changed files with 37 additions and 2 deletions
21
service.go
21
service.go
|
|
@ -32,6 +32,10 @@ type ResolveAddressResult struct {
|
|||
Addresses []string `json:"addresses"`
|
||||
}
|
||||
|
||||
type ResolveTXTResult struct {
|
||||
TXT []string `json:"txt"`
|
||||
}
|
||||
|
||||
type ReverseLookupResult struct {
|
||||
Names []string `json:"names"`
|
||||
}
|
||||
|
|
@ -345,11 +349,24 @@ func (service *Service) Resolve(name string) (ResolveAllResult, bool) {
|
|||
}
|
||||
|
||||
func (service *Service) ResolveTXT(name string) ([]string, bool) {
|
||||
record, ok := service.findRecord(name)
|
||||
result, ok := service.ResolveTXTRecords(name)
|
||||
if !ok {
|
||||
return nil, false
|
||||
}
|
||||
return append([]string(nil), record.TXT...), true
|
||||
return result.TXT, true
|
||||
}
|
||||
|
||||
// ResolveTXTRecords returns TXT records wrapped with the RFC field name for action payloads.
|
||||
//
|
||||
// service.ResolveTXTRecords("gateway.charon.lthn")
|
||||
func (service *Service) ResolveTXTRecords(name string) (ResolveTXTResult, bool) {
|
||||
record, ok := service.findRecord(name)
|
||||
if !ok {
|
||||
return ResolveTXTResult{}, false
|
||||
}
|
||||
return ResolveTXTResult{
|
||||
TXT: append([]string(nil), record.TXT...),
|
||||
}, true
|
||||
}
|
||||
|
||||
// DiscoverWithHSD refreshes DNS records for each alias by calling HSD.
|
||||
|
|
|
|||
|
|
@ -92,6 +92,24 @@ func TestServiceResolveTXTUsesWildcard(t *testing.T) {
|
|||
}
|
||||
}
|
||||
|
||||
func TestServiceResolveTXTRecordsReturnsNamedField(t *testing.T) {
|
||||
service := NewService(ServiceOptions{
|
||||
Records: map[string]NameRecords{
|
||||
"gateway.charon.lthn": {
|
||||
TXT: []string{"v=lthn1 type=gateway"},
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
result, ok := service.ResolveTXTRecords("gateway.charon.lthn")
|
||||
if !ok {
|
||||
t.Fatal("expected named TXT result to resolve")
|
||||
}
|
||||
if len(result.TXT) != 1 || result.TXT[0] != "v=lthn1 type=gateway" {
|
||||
t.Fatalf("unexpected ResolveTXTRecords output: %#v", result.TXT)
|
||||
}
|
||||
}
|
||||
|
||||
func TestServiceResolveAddressReturnsMergedRecords(t *testing.T) {
|
||||
service := NewService(ServiceOptions{
|
||||
Records: map[string]NameRecords{
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue