Skip to content
This repository has been archived by the owner on Dec 4, 2023. It is now read-only.

TTL errors when trying to unmarshal because tile38 returns a float not an int #58

Open
lugomateo opened this issue Jan 16, 2023 · 0 comments

Comments

@lugomateo
Copy link

After setting an object's expiration, calling TTL on the object causes an error:
json: cannot unmarshal number 0.174668 into Go struct field .ttl of type int

Calling TTL directly on the tile38-cli, looks like tile38 returns a float (instead of an int)
{"ok":true,"ttl":0.174668,"elapsed":"7.359µs"}

should be a super quick fix, something like this:

func (ks *Keys) TTL(key, objectID string) (float64, error) {
	var resp struct {
		TTL float64 `json:"ttl"`
	}

	err := ks.client.jExecute(&resp, "TTL", key, objectID)
	if err != nil {
		return -1, err
	}

	return resp.TTL, nil
}
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant