code: func (t TokenUnsealer) Token() (string, error) {
  	r, err := vault.Request{goreq.Request{
  		Uri:             vault.Path("/v1/auth/token/lookup-self", ""),
  		MaxRedirects:    10,
  		RedirectHeaders: true,
  	}.WithHeader("X-Vault-Token", t.AuthToken)}.Do()
  	if err == nil {
  		defer r.Body.Close()
  		switch r.StatusCode {
  		case 200:
  			return t.AuthToken, nil
  		default:
  			var e vault.Error
  			e.Code = r.StatusCode
  			if err := r.Body.FromJsonTo(&e); err == nil {
  				return "", e
  			} else {
  				e.Errors = []string{"communication error."}
  				return "", e
  			}
  		}
  	} else {
  		return "", err
  	}
  }
docs: // Retrieving a token with the TokenUnsealer checks that the token is still
  // valid first.