summaryrefslogtreecommitdiff
path: root/data/datasource.go
diff options
context:
space:
mode:
authorDave Henderson <dhenderson@gmail.com>2018-12-03 21:32:43 -0500
committerGitHub <noreply@github.com>2018-12-03 21:32:43 -0500
commitd97981ecc9929df01da0cce6cbbcea940202f643 (patch)
tree80eebe0c78694a9feb00db3fdb0769eee8d2f008 /data/datasource.go
parent2f357bd5a55169452deeebfaccab6515b06364de (diff)
Support subpaths for http datasources (#442)
* bug: subpaths were ignored in http datasources Signed-off-by: Dave Henderson <dhenderson@gmail.com> * fixup! bug: subpaths were ignored in http datasources
Diffstat (limited to 'data/datasource.go')
-rw-r--r--data/datasource.go74
1 files changed, 0 insertions, 74 deletions
diff --git a/data/datasource.go b/data/datasource.go
index 2e4d845d..5ceadd11 100644
--- a/data/datasource.go
+++ b/data/datasource.go
@@ -11,7 +11,6 @@ import (
"path"
"path/filepath"
"strings"
- "time"
"github.com/pkg/errors"
@@ -373,42 +372,6 @@ func readStdin(source *Source, args ...string) ([]byte, error) {
return b, nil
}
-func readHTTP(source *Source, args ...string) ([]byte, error) {
- if source.hc == nil {
- source.hc = &http.Client{Timeout: time.Second * 5}
- }
- req, err := http.NewRequest("GET", source.URL.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 := ioutil.ReadAll(res.Body)
- if err != nil {
- return nil, err
- }
- err = res.Body.Close()
- if err != nil {
- return nil, err
- }
- if res.StatusCode != 200 {
- err := errors.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
-}
-
func readConsul(source *Source, args ...string) (data []byte, err error) {
if source.kv == nil {
source.kv, err = libkv.NewConsul(source.URL)
@@ -454,40 +417,3 @@ func readBoltDB(source *Source, args ...string) (data []byte, err error) {
return data, nil
}
-
-func parseHeaderArgs(headerArgs []string) (map[string]http.Header, error) {
- headers := make(map[string]http.Header)
- for _, v := range headerArgs {
- ds, name, value, err := splitHeaderArg(v)
- if err != nil {
- return nil, err
- }
- if _, ok := headers[ds]; !ok {
- headers[ds] = make(http.Header)
- }
- headers[ds][name] = append(headers[ds][name], strings.TrimSpace(value))
- }
- return headers, nil
-}
-
-func splitHeaderArg(arg string) (datasourceAlias, name, value string, err error) {
- parts := strings.SplitN(arg, "=", 2)
- if len(parts) != 2 {
- err = errors.Errorf("Invalid datasource-header option '%s'", arg)
- return "", "", "", err
- }
- datasourceAlias = parts[0]
- name, value, err = splitHeader(parts[1])
- return datasourceAlias, name, value, err
-}
-
-func splitHeader(header string) (name, value string, err error) {
- parts := strings.SplitN(header, ":", 2)
- if len(parts) != 2 {
- err = errors.Errorf("Invalid HTTP Header format '%s'", header)
- return "", "", err
- }
- name = http.CanonicalHeaderKey(parts[0])
- value = parts[1]
- return name, value, nil
-}