backend.Records make it take request.Request (#943)

This is more general and aligns well with the other methods.
Also allows the kubernetes middleware to use it.

Fixes #940
This commit is contained in:
Miek Gieben
2017-08-19 14:03:03 +01:00
committed by GitHub
parent 627687b11f
commit 7c343982a6
4 changed files with 14 additions and 12 deletions

View File

@@ -37,7 +37,7 @@ type Etcd struct {
// Services implements the ServiceBackend interface.
func (e *Etcd) Services(state request.Request, exact bool, opt middleware.Options) (services, debug []msg.Service, err error) {
services, err = e.Records(state.Name(), exact)
services, err = e.Records(state, exact)
if err != nil {
return
}
@@ -73,7 +73,9 @@ func (e *Etcd) Debug() string {
// Records looks up records in etcd. If exact is true, it will lookup just this
// name. This is used when find matches when completing SRV lookups for instance.
func (e *Etcd) Records(name string, exact bool) ([]msg.Service, error) {
func (e *Etcd) Records(state request.Request, exact bool) ([]msg.Service, error) {
name := state.Name()
path, star := msg.PathWithWildcard(name, e.PathPrefix)
r, err := e.get(path, true)
if err != nil {