VOL-1848 API for setting and querying loglevel of api-server;
Add source-router to support routing UpdateLogLevel to cores;
Add logging endpoints to rocore
Change-Id: I89eea3599ea3006fe92e6917221cd1fd235ec5e4
diff --git a/afrouter/afrouter/binding-router.go b/afrouter/afrouter/binding-router.go
index c0ff315..467b1e6 100644
--- a/afrouter/afrouter/binding-router.go
+++ b/afrouter/afrouter/binding-router.go
@@ -80,40 +80,41 @@
func (br BindingRouter) ReplyHandler(v interface{}) error {
return nil
}
-func (br BindingRouter) Route(sel interface{}) *backend {
+func (br BindingRouter) Route(sel interface{}) (*backend, *connection) {
var err error
switch sl := sel.(type) {
case *requestFrame:
if b, ok := br.bindings[sl.metaVal]; ok == true { // binding exists, just return it
- return b
+ return b, nil
} else { // establish a new binding or error.
if sl.metaVal != "" {
err = errors.New(fmt.Sprintf("Attempt to route on non-existent metadata value '%s' in key '%s'",
sl.metaVal, sl.metaKey))
log.Error(err)
sl.err = err
- return nil
+ return nil, nil
}
if sl.methodInfo.method != br.bindingMethod {
err = errors.New(fmt.Sprintf("Binding must occur with method %s but attempted with method %s",
br.bindingMethod, sl.methodInfo.method))
log.Error(err)
sl.err = err
- return nil
+ return nil, nil
}
log.Debugf("MUST CREATE A NEW BINDING MAP ENTRY!!")
if *br.currentBackend, err = br.beCluster.nextBackend(*br.currentBackend, BackendSequenceRoundRobin); err == nil {
// Use the name of the backend as the metaVal for this new binding
br.bindings[(*br.currentBackend).name] = *br.currentBackend
- return *br.currentBackend
+ return *br.currentBackend, nil
+
} else {
log.Error(err)
sl.err = err
- return nil
+ return nil, nil
}
}
default:
- return nil
+ return nil, nil
}
}