ing
This commit is contained in:
		
							parent
							
								
									5298f21b68
								
							
						
					
					
						commit
						efea9e8ca6
					
				| @ -2,10 +2,9 @@ package json | ||||
| 
 | ||||
| import ( | ||||
| 	"encoding/json" | ||||
| 	"reflect" | ||||
| 
 | ||||
| 	"git.loafle.net/commons_go/rpc/codec" | ||||
| 	cur "git.loafle.net/commons_go/util/reflect" | ||||
| 	cuej "git.loafle.net/commons_go/util/encoding/json" | ||||
| ) | ||||
| 
 | ||||
| // ---------------------------------------------------------------------------- | ||||
| @ -34,8 +33,7 @@ func (cnc *ClientNotificationCodec) ReadParams(args []interface{}) error { | ||||
| 	if cnc.err == nil && cnc.noti.Params != nil { | ||||
| 		// Note: if scr.request.Params is nil it's not an error, it's an optional member. | ||||
| 		// JSON params structured object. Unmarshal to the args object. | ||||
| 		var values []string | ||||
| 		if err := json.Unmarshal(*cnc.noti.Params, &values); err != nil { | ||||
| 		if err := cuej.SetValueWithJSONStringArray(*cnc.noti.Params, args); nil != err { | ||||
| 			cnc.err = &Error{ | ||||
| 				Code:    E_INVALID_REQ, | ||||
| 				Message: err.Error(), | ||||
| @ -43,25 +41,7 @@ func (cnc *ClientNotificationCodec) ReadParams(args []interface{}) error { | ||||
| 			} | ||||
| 			return cnc.err | ||||
| 		} | ||||
| 
 | ||||
| 		for indexI := 0; indexI < len(args); indexI++ { | ||||
| 			value := values[indexI] | ||||
| 			arg := args[indexI] | ||||
| 
 | ||||
| 			if cur.IsTypeKind(reflect.TypeOf(arg), reflect.String, true) { | ||||
| 				arg = arg.(*string) | ||||
| 				arg = &value | ||||
| 			} else { | ||||
| 				if err := json.Unmarshal([]byte(value), &arg); err != nil { | ||||
| 					cnc.err = &Error{ | ||||
| 						Code:    E_INVALID_REQ, | ||||
| 						Message: err.Error(), | ||||
| 						Data:    cnc.noti.Params, | ||||
| 					} | ||||
| 					return cnc.err | ||||
| 				} | ||||
| 			} | ||||
| 		} | ||||
| 		return nil | ||||
| 	} | ||||
| 	return cnc.err | ||||
| } | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user