t38c
t38c copied to clipboard
TTL errors when trying to unmarshal because tile38 returns a float not an int
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
}