MCPcopy Create free account
hub / github.com/anchordotdev/cli / checkLoopbackDomain

Function checkLoopbackDomain

lcl/lcl.go:173–200  ·  view source on GitHub ↗
(ctx context.Context, drv *ui.Driver, domain string)

Source from the content-addressed store, hash-verified

171}
172
173func checkLoopbackDomain(ctx context.Context, drv *ui.Driver, domain string) error {
174 drv.Activate(ctx, &models.DomainResolver{
175 Domain: domain,
176 })
177
178 addrs, err := new(net.Resolver).LookupHost(ctx, domain)
179 if err != nil {
180 drv.Send(models.DomainStatusMsg(false))
181
182 var dnserr *net.DNSError
183 if errors.As(err, &dnserr) {
184 return cli.UserError{Err: errors.New("no such host")}
185 }
186
187 return err
188 }
189
190 for _, addr := range addrs {
191 if !slices.Contains(loopbackAddrs, addr) {
192 drv.Send(models.DomainStatusMsg(false))
193
194 return fmt.Errorf("%s domain resolved to non-loopback interface address: %s", domain, addr)
195 }
196 }
197 drv.Send(models.DomainStatusMsg(true))
198
199 return nil
200}

Callers 2

initialSetupMethod · 0.85

Calls 4

DomainStatusMsgTypeAlias · 0.92
ActivateMethod · 0.80
SendMethod · 0.80
NewMethod · 0.80

Tested by

no test coverage detected