summaryrefslogtreecommitdiffstats
path: root/vendor/gopkg.in/olivere/elastic.v5/config/config.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/gopkg.in/olivere/elastic.v5/config/config.go')
-rw-r--r--vendor/gopkg.in/olivere/elastic.v5/config/config.go37
1 files changed, 17 insertions, 20 deletions
diff --git a/vendor/gopkg.in/olivere/elastic.v5/config/config.go b/vendor/gopkg.in/olivere/elastic.v5/config/config.go
index a511c4157..208eb2b5d 100644
--- a/vendor/gopkg.in/olivere/elastic.v5/config/config.go
+++ b/vendor/gopkg.in/olivere/elastic.v5/config/config.go
@@ -13,16 +13,17 @@ import (
// Config represents an Elasticsearch configuration.
type Config struct {
- URL string
- Index string
- Username string
- Password string
- Shards int
- Replicas int
- Sniff *bool
- Infolog string
- Errorlog string
- Tracelog string
+ URL string
+ Index string
+ Username string
+ Password string
+ Shards int
+ Replicas int
+ Sniff *bool
+ Healthcheck *bool
+ Infolog string
+ Errorlog string
+ Tracelog string
}
// Parse returns the Elasticsearch configuration by extracting it
@@ -44,16 +45,7 @@ func Parse(elasticURL string) (*Config, error) {
if err != nil {
return nil, fmt.Errorf("error parsing elastic parameter %q: %v", elasticURL, err)
}
- index := uri.Path
- if strings.HasPrefix(index, "/") {
- index = index[1:]
- }
- if strings.HasSuffix(index, "/") {
- index = index[:len(index)-1]
- }
- if index == "" {
- return nil, fmt.Errorf("missing index in elastic parameter %q", elasticURL)
- }
+ index := strings.TrimSuffix(strings.TrimPrefix(uri.Path, "/"), "/")
if uri.User != nil {
cfg.Username = uri.User.Username()
cfg.Password, _ = uri.User.Password()
@@ -71,6 +63,11 @@ func Parse(elasticURL string) (*Config, error) {
cfg.Sniff = &b
}
}
+ if s := uri.Query().Get("healthcheck"); s != "" {
+ if b, err := strconv.ParseBool(s); err == nil {
+ cfg.Healthcheck = &b
+ }
+ }
if s := uri.Query().Get("infolog"); s != "" {
cfg.Infolog = s
}