Merge branch 'consul_path_prefix_leading_slash' into dev
This commit is contained in:
		| @@ -4,7 +4,7 @@ The consul source reads config from consul key/values | ||||
|  | ||||
| ## Consul Format | ||||
|  | ||||
| The consul source expects keys under the default prefix `micro/config` | ||||
| The consul source expects keys under the default prefix `/micro/config` | ||||
|  | ||||
| Values are expected to be json | ||||
|  | ||||
| @@ -29,8 +29,8 @@ Specify source with data | ||||
| consulSource := consul.NewSource( | ||||
| 	// optionally specify consul address; default to localhost:8500 | ||||
| 	consul.WithAddress("10.0.0.10:8500"), | ||||
| 	// optionally specify prefix; defaults to micro/config | ||||
| 	consul.WithPrefix("my/prefix"), | ||||
| 	// optionally specify prefix; defaults to /micro/config | ||||
| 	consul.WithPrefix("/my/prefix"), | ||||
|   // optionally strip the provided prefix from the keys, defaults to false | ||||
|   consul.StripPrefix(true), | ||||
| ) | ||||
|   | ||||
| @@ -21,7 +21,7 @@ type consul struct { | ||||
| var ( | ||||
| 	// DefaultPrefix is the prefix that consul keys will be assumed to have if you | ||||
| 	// haven't specified one | ||||
| 	DefaultPrefix = "micro/config/" | ||||
| 	DefaultPrefix = "/micro/config/" | ||||
| ) | ||||
|  | ||||
| func (c *consul) Read() (*source.ChangeSet, error) { | ||||
|   | ||||
| @@ -36,7 +36,7 @@ func makeMap(e encoder.Encoder, kv api.KVPairs, stripPrefix string) (map[string] | ||||
|  | ||||
| 	// consul guarantees lexicographic order, so no need to sort | ||||
| 	for _, v := range kv { | ||||
| 		pathString := strings.TrimPrefix(strings.TrimPrefix(v.Key, stripPrefix), "/") | ||||
| 		pathString := strings.TrimPrefix(strings.TrimPrefix(v.Key, strings.TrimPrefix(stripPrefix, "/")), "/") | ||||
| 		if pathString == "" { | ||||
| 			continue | ||||
| 		} | ||||
| @@ -58,6 +58,7 @@ func makeMap(e encoder.Encoder, kv api.KVPairs, stripPrefix string) (map[string] | ||||
| 			} | ||||
| 		} | ||||
|  | ||||
| 		// set target at the root | ||||
| 		target := data | ||||
| 		path := strings.Split(pathString, "/") | ||||
| 		// find (or create) the leaf node we want to put this value at | ||||
|   | ||||
		Reference in New Issue
	
	Block a user