func mergeUvMsgs(lmsgs, rmsgs []datasource.Message, lcols, rcols map[string]*expr.Column) []*datasource.ContextUrlValues { out := make([]*datasource.ContextUrlValues, 0) for _, lm := range lmsgs { switch lmt := lm.Body().(type) { case *datasource.ContextUrlValues: for _, rm := range rmsgs { switch rmt := rm.Body().(type) { case *datasource.ContextUrlValues: // for k, val := range rmt.Data { // u.Debugf("k=%v v=%v", k, val) // } newMsg := datasource.NewContextUrlValues(url.Values{}) newMsg = reAlias(newMsg, lmt.Data, lcols) newMsg = reAlias(newMsg, rmt.Data, rcols) //u.Debugf("pre: %#v", lmt.Data) //u.Debugf("post: %#v", newMsg.Data) out = append(out, newMsg) default: u.Warnf("uknown type: %T", rm) } } default: u.Warnf("uknown type: %T %T", lmt, lm) } } return out }
func mergeUv(m1, m2 *datasource.ContextUrlValues) *datasource.ContextUrlValues { out := datasource.NewContextUrlValues(m1.Data) for k, val := range m2.Data { //u.Debugf("k=%v v=%v", k, val) out.Data[k] = val } return out }