Skip to content

Instantly share code, notes, and snippets.

@digitallysavvy
Created August 10, 2020 17:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save digitallysavvy/4413ea4496daee61c19f7387e4f3baa6 to your computer and use it in GitHub Desktop.
Save digitallysavvy/4413ea4496daee61c19f7387e4f3baa6 to your computer and use it in GitHub Desktop.
A function that takes the context, extracts and returns the parameters.
func parseRtmParams(c *gin.Context) (uidStr string, expireTimestamp uint32, err error) {
// get param values
uidStr = c.Param("uid")
expireTime := c.DefaultQuery("expiry", "3600")
expireTime64, parseErr := strconv.ParseUint(expireTime, 10, 64)
if parseErr != nil {
// if string conversion fails return an error
err = fmt.Errorf("failed to parse expireTime: %s, causing error: %s", expireTime, parseErr)
}
// set timestamps
expireTimeInSeconds := uint32(expireTime64)
currentTimestamp := uint32(time.Now().UTC().Unix())
expireTimestamp = currentTimestamp + expireTimeInSeconds
// check if string conversion fails
return uidStr, expireTimestamp, err
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment