def valid!(request)
      signature_certificate_url = request.env['HTTP_SIGNATURECERTCHAINURL']

      AlexaVerifier::Verifier::CertificateURIVerifier.valid!(signature_certificate_url) if @configuration.verify_uri?

      raw_body = request.body.read
      request.body && request.body.rewind # call the rewind method if it exists (handles Sinatra specifically)

      check_that_request_is_timely(raw_body) if @configuration.verify_timeliness?

      check_that_request_is_valid(signature_certificate_url, request, raw_body)

      true
    end
def valid!(request)
      signature_certificate_url = request.env['HTTP_SIGNATURECERTCHAINURL']

      AlexaVerifier::Verifier::CertificateURIVerifier.valid!(signature_certificate_url) if @configuration.verify_uri?

      raw_body = request.body.read
      request.body && request.body.rewind # call the rewind method if it exists (handles Sinatra specifically)

      check_that_request_is_timely(raw_body) if @configuration.verify_timeliness?

      check_that_request_is_valid(signature_certificate_url, request, raw_body)

      true
    end
Create a new AlexaVerifier::Verifier object

 @yield the configuration block
 @yieldparam config [AlexaVerifier::Configuration] the configuration object
 Validate a request object from Rack.
 Raise an error if it is not valid.

 @param [Rack::Request::Env] request a Rack HTTP Request

 @raise [AlexaVerifier::InvalidCertificateURIError]
   there was a problem validating the certificate URI from your request

 @return [nil] will always return nil