diff options
| author | Dave Henderson <dhenderson@gmail.com> | 2024-01-22 09:06:33 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-01-22 09:06:33 -0500 |
| commit | 0ac3aa24bf2e4ada9c26fd9ef5b7f0ae8c6b6cfb (patch) | |
| tree | 9a95f27eec1e77ef8bfefcb2810f7e41681627a5 /data/datasource_http.go | |
| parent | f837061f953bda1e8b42095c6dba0496de11d993 (diff) | |
Use go-fsimpl to read from datasources (#1336)
* Use go-fsimpl to read from datasources
Signed-off-by: Dave Henderson <dhenderson@gmail.com>
* trying to fix windows bug
Signed-off-by: Dave Henderson <dhenderson@gmail.com>
* attempts to fix some of the path madness
Signed-off-by: Dave Henderson <dhenderson@gmail.com>
* remove 'HOME' from expected env vars
Signed-off-by: Dave Henderson <dhenderson@gmail.com>
* more tweaks
Signed-off-by: Dave Henderson <dhenderson@gmail.com>
* lint fix
Signed-off-by: Dave Henderson <dhenderson@gmail.com>
---------
Signed-off-by: Dave Henderson <dhenderson@gmail.com>
Diffstat (limited to 'data/datasource_http.go')
| -rw-r--r-- | data/datasource_http.go | 62 |
1 files changed, 0 insertions, 62 deletions
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 -} |
