code: func (v *Validator) validSignature(ts, rqp string, b []byte, rs string) bool {
  	uqp, err := url.Parse("?" + rqp)
  	if err != nil {
  		return false
  	}
  	es, err := v.calculateSignature(ts, uqp.Query().Encode(), b)
  	if err != nil {
  		return false
  	}
  	drs, err := base64.StdEncoding.DecodeString(rs)
  	if err != nil {
  		return false
  	}
  	return hmac.Equal(drs, es)
  }
docs: // validSignature takes the timestamp, query params and body from the request,
  // calculates the expected signature and compares it to the one sent by MessageBird.