Skip to content
Snippets Groups Projects
Unverified Commit c6f6377e authored by Xin.Zh's avatar Xin.Zh Committed by GitHub
Browse files

Merge pull request #293 from pantianying/develop_generic_code_fix

Develop generic code fix
parents 382169c6 ba0b1a3a
No related branches found
No related tags found
No related merge requests found
......@@ -47,22 +47,21 @@ type GenericFilter struct{}
func (ef *GenericFilter) Invoke(invoker protocol.Invoker, invocation protocol.Invocation) protocol.Result {
if invocation.MethodName() == constant.GENERIC && len(invocation.Arguments()) == 3 {
oldArguments := invocation.Arguments()
var newParams []hessian.Object
if oldParams, ok := oldArguments[2].([]interface{}); ok {
newParams := make([]hessian.Object, 0, len(oldParams))
for i := range oldParams {
newParams = append(newParams, hessian.Object(struct2MapAll(oldParams[i])))
}
} else {
return invoker.Invoke(invocation)
}
newArguments := []interface{}{
oldArguments[0],
oldArguments[1],
newParams,
newArguments := []interface{}{
oldArguments[0],
oldArguments[1],
newParams,
}
newInvocation := invocation2.NewRPCInvocation(invocation.MethodName(), newArguments, invocation.Attachments())
newInvocation.SetReply(invocation.Reply())
return invoker.Invoke(newInvocation)
}
newInvocation := invocation2.NewRPCInvocation(invocation.MethodName(), newArguments, invocation.Attachments())
newInvocation.SetReply(invocation.Reply())
return invoker.Invoke(newInvocation)
}
return invoker.Invoke(invocation)
}
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment