From 42d5d57314957da969c5849b23c9820d608a9951 Mon Sep 17 00:00:00 2001 From: Henrik Hautakoski Date: Mon, 25 Dec 2023 21:29:56 +0100 Subject: [PATCH] ip/resolver/basic_http/service.go: add support for a decoder function to be added to the service. --- ip/resolver/basic_http/service.go | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/ip/resolver/basic_http/service.go b/ip/resolver/basic_http/service.go index c5407a3..cbf0829 100644 --- a/ip/resolver/basic_http/service.go +++ b/ip/resolver/basic_http/service.go @@ -11,10 +11,13 @@ import ( "dnsupdater/ip/internal" ) +type Decoder func(io.Reader) ([]byte, error) + type Service struct { ServiceName string Url string Headers http.Header + Decoder Decoder } func (s Service) Name() string { @@ -27,7 +30,11 @@ func (s Service) Lookup(ctx context.Context) (net.IP, error) { return nil, err } - body, err := io.ReadAll(resp.Body) + if s.Decoder == nil { + s.Decoder = io.ReadAll + } + + body, err := s.Decoder(resp.Body) if err != nil { return nil, err }