public string Build(string secret, HttpRequestMessage request)
        {
            if (string.IsNullOrEmpty(secret))
            {
                throw new ArgumentNullException("secret");
            }

            var messageRepresentation = buildMessageRepresentation.Build(request);
            var hash = calculateSignature.Calculate(secret, messageRepresentation);

            return(hash);
        }