code: func (a *Remote) ResponseMID(ctx context.Context, mid uint, v interface{}, isError ...bool) error {
  	err := false
  	if len(isError) > 0 {
  		err = isError[0]
  	}
  
  	if mid <= 0 {
  		return constants.ErrSessionOnNotify
  	}
  
  	switch d := v.(type) {
  	case []byte:
  		logger.Log.Debugf("Type=Response, ID=%d, MID=%d, Data=%dbytes",
  			a.Session.ID(), mid, len(d))
  	default:
  		logger.Log.Infof("Type=Response, ID=%d, MID=%d, Data=%+v",
  			a.Session.ID(), mid, v)
  	}
  
  	return a.send(pendingMessage{ctx: ctx, typ: message.Response, mid: mid, payload: v, err: err}, a.reply)
  }
docs: // ResponseMID reponds the message with mid to the user