public void OAuthHeader()
        {
            OAuthParameters testOAuthParameters = TestOAuthParameters();

            OauthHeader oauthHeader = new OauthHeader(testOAuthParameters);

            Assert.AreEqual("OAuth oauth_consumer_key=\"xvz1evFS4wEEPTGEFPHBog\", oauth_nonce=\"kYjzVBB8Y0ZFabxSWbWovY3uYSQ2pTgmZeNu2VS4cg\", oauth_signature=\"tnnArxj06cWHq44gCs1OSKk%2FjLY%3D\", oauth_signature_method=\"HMAC-SHA1\", oauth_timestamp=\"1318622958\", oauth_token=\"370773112-GmHxMAgYyLbNEtIKZeRNFsMKPR9EyMZeS9weJAEb\", oauth_version=\"1.0\"" ,
                oauthHeader.ToString());
        }
        private void Stream(string hashTag)
        {
            logger.Info("Start Streaming Hash: {0}", hashTag);
            string resourceUrl = Twitter.STREAMING_API_V1_1 + "statuses/filter.json";

            HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(resourceUrl);
            webRequest.Method = "POST";
            webRequest.ContentType = "application/x-www-form-urlencoded";
            webRequest.Timeout = -1;

            // This is the content
            var postData = new List<KeyValuePair<string, string>>();
            postData.Add(new KeyValuePair<string, string>("track", hashTag));

            // sign Request
            OAuthParameters oAuthParameters = new OAuthParameters(this.authorization,
                resourceUrl,
                postData,
                new List<KeyValuePair<string, string>>());
            OauthHeader oauthHeader = new OauthHeader(oAuthParameters);
            webRequest.Headers.Add("Authorization", oauthHeader.ToString());

            webRequest.AddPostData(postData);

            Encoding encode = System.Text.Encoding.GetEncoding("utf-8");
            var webResponse = (HttpWebResponse)webRequest.GetResponse();
            var responseStream = new StreamReader(webResponse.GetResponseStream(), encode);

            logger.Info("Stream Initialized. Entering listening mode...");

            this.processor.SetStartTime();

            //Read the stream.
            while (!this.cancel)
            {
                string jsonText = responseStream.ReadLine();
                logger.Debug("Recieved from twitter:" + jsonText);

                this.processor.Process(jsonText);
            }

            this.processor.SetEndTime();

            //Abort is needed or responseStream.Close() will hang.
            webRequest.Abort();
            responseStream.Close();
            webResponse.Close();

            this.Canceled = true;
        }