public function createRequest($method = RequestInterface::GET, $uri = null, $headers = null, $body = null)
        {

            $request = parent::createRequest($method, $uri, $headers, $body);
            // see http://snippets.webaware.com.au/howto/stop-turning-off-curlopt_ssl_verifypeer-and-fix-your-php-config/
            #$request->getCurlOptions()->set(CURLOPT_SSL_VERIFYPEER, false);

            // Add Zelift auth headers
            $hTimestamp = $this->getTimestamp();

            $baseSig = Keyring::getAppSecret() . '+' . Keyring::getConsumerKey() . '+' . $method . '+' . $request->getUrl() . '+' . $body . '+' . $hTimestamp;

            $sig = '$1$' . sha1($baseSig);
            $request->addHeader('X-Zelift-Application', Keyring::getAppKey());
            $request->addHeader('X-Zelift-Timestamp', $hTimestamp);
            $request->addHeader('X-Zelift-Consumer', Keyring::getConsumerKey());
            $request->addHeader('X-Zelift-Signature', $sig);

            return $request;
        }