From 0ac3aa24bf2e4ada9c26fd9ef5b7f0ae8c6b6cfb Mon Sep 17 00:00:00 2001 From: Dave Henderson Date: Mon, 22 Jan 2024 09:06:33 -0500 Subject: Use go-fsimpl to read from datasources (#1336) * Use go-fsimpl to read from datasources Signed-off-by: Dave Henderson * trying to fix windows bug Signed-off-by: Dave Henderson * attempts to fix some of the path madness Signed-off-by: Dave Henderson * remove 'HOME' from expected env vars Signed-off-by: Dave Henderson * more tweaks Signed-off-by: Dave Henderson * lint fix Signed-off-by: Dave Henderson --------- Signed-off-by: Dave Henderson --- data/datasource_http.go | 62 ------------------------------------------------- 1 file changed, 62 deletions(-) delete mode 100644 data/datasource_http.go (limited to 'data/datasource_http.go') diff --git a/data/datasource_http.go b/data/datasource_http.go deleted file mode 100644 index 23c7dc36..00000000 --- a/data/datasource_http.go +++ /dev/null @@ -1,62 +0,0 @@ -package data - -import ( - "context" - "fmt" - "io" - "mime" - "net/http" - "net/url" - "time" -) - -func buildURL(base *url.URL, args ...string) (*url.URL, error) { - if len(args) == 0 { - return base, nil - } - p, err := url.Parse(args[0]) - if err != nil { - return nil, fmt.Errorf("bad sub-path %s: %w", args[0], err) - } - return base.ResolveReference(p), nil -} - -func readHTTP(ctx context.Context, source *Source, args ...string) ([]byte, error) { - if source.hc == nil { - source.hc = &http.Client{Timeout: time.Second * 5} - } - u, err := buildURL(source.URL, args...) - if err != nil { - return nil, err - } - req, err := http.NewRequestWithContext(ctx, http.MethodGet, u.String(), nil) - if err != nil { - return nil, err - } - req.Header = source.Header - res, err := source.hc.Do(req) - if err != nil { - return nil, err - } - body, err := io.ReadAll(res.Body) - if err != nil { - return nil, err - } - err = res.Body.Close() - if err != nil { - return nil, err - } - if res.StatusCode != 200 { - err := fmt.Errorf("unexpected HTTP status %d on GET from %s: %s", res.StatusCode, source.URL, string(body)) - return nil, err - } - ctypeHdr := res.Header.Get("Content-Type") - if ctypeHdr != "" { - mediatype, _, e := mime.ParseMediaType(ctypeHdr) - if e != nil { - return nil, e - } - source.mediaType = mediatype - } - return body, nil -} -- cgit v1.2.3