Example #1
0
func (h *Handlers) version(r *kite.Request, v *vagrantutil.Vagrant) (interface{}, error) {
	if r.Args == nil {
		return nil, errors.New("missing arguments")
	}

	var req versionRequest

	if err := r.Args.One().Unmarshal(&req); err != nil {
		return nil, err
	}

	var resp versionResponse

	switch req.Name {
	case "klient":
		resp.Klient = konfig.Version
	case "vagrant":
		ver, err := v.Version()
		if err != nil {
			return nil, err
		}

		resp.Vagrant = ver
	case "":
		// Backward-compatibility with old kloud version.
		//
		// TODO(rjeczalik): If you read this probably it can be removed.
		return v.Version()
	}

	return &resp, nil
}