mirror of
https://github.com/ipfs/kubo.git
synced 2025-06-20 02:21:48 +08:00
commands: Allow commands to output pointers to specified type
This commit is contained in:
@ -114,14 +114,17 @@ func (c *Command) Call(req Request) Response {
|
||||
return res
|
||||
}
|
||||
|
||||
actualType := reflect.ValueOf(output).Type()
|
||||
actualType := reflect.TypeOf(output)
|
||||
if actualType.Kind() == reflect.Ptr {
|
||||
actualType = actualType.Elem()
|
||||
}
|
||||
|
||||
// test if output is a channel
|
||||
isChan := actualType.Kind() == reflect.Chan
|
||||
|
||||
// If the command specified an output type, ensure the actual value returned is of that type
|
||||
if cmd.Type != nil && !isChan {
|
||||
expectedType := reflect.ValueOf(cmd.Type).Type()
|
||||
expectedType := reflect.TypeOf(cmd.Type)
|
||||
|
||||
if actualType != expectedType {
|
||||
res.SetError(ErrIncorrectType, ErrNormal)
|
||||
|
Reference in New Issue
Block a user