Changeset 393

Show
Ignore:
Timestamp:
05/20/08 00:26:25 (8 months ago)
Author:
tomoyo
Message:

* Replies チェックの最終アクセス時刻の保存を間違っていたので修正
* 各種リクエストで利用するクライアントの情報を設定できるようにした

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • TwitterIrcGateway/branches/im-support/TwitterIrcGatewayCore/TwitterService.cs

    r391 r393  
    4343        public event EventHandler<DirectMessageEventArgs> DirectMessageReceived; 
    4444 
    45         public static readonly String ServiceServerPrefix = "http://twitter.com"; 
    46         public static readonly String Referer = "http://twitter.com/home"; 
    47         public static readonly String ClientUrl = "http://www.misuzilla.org/dist/net/twitterircgateway/"; 
    48         public static readonly String ClientVersion = typeof(TwitterService).Assembly.GetName().Version.ToString(); 
    49         public static readonly String ClientName = "TwitterIrcGateway"; 
     45        public String ServiceServerPrefix = "http://twitter.com"; 
     46        public String Referer = "http://twitter.com/home"; 
     47        public String ClientUrl = "http://www.misuzilla.org/dist/net/twitterircgateway/"; 
     48        public String ClientVersion = typeof(TwitterService).Assembly.GetName().Version.ToString(); 
     49        public String ClientName = "TwitterIrcGateway"; 
    5050 
    5151        public TwitterService(String userName, String password) 
    5252        { 
    5353            CredentialCache credCache = new CredentialCache(); 
    54             credCache.Add(new Uri(TwitterService.ServiceServerPrefix), "Basic", new NetworkCredential(userName, password)); 
     54            credCache.Add(new Uri(ServiceServerPrefix), "Basic", new NetworkCredential(userName, password)); 
    5555            _credential = credCache; 
    5656 
     
    149149            return ExecuteRequest<Status>(() => 
    150150            { 
    151                 String responseBody = POST(String.Format("/statuses/update.xml?status={0}&source={1}", encodedMessage, TwitterService.ClientName), Encoding.Default.GetBytes("1")); 
     151                String responseBody = POST(String.Format("/statuses/update.xml?status={0}&source={1}", encodedMessage, ClientName), Encoding.Default.GetBytes("1")); 
    152152                if (NilClasses.CanDeserialize(responseBody)) 
    153153                { 
     
    482482                    if (_enableDropProtection) 
    483483                    { 
    484                         // �����ڂ��h�~���Ă������͈��Â���                        if (status.CreatedAt < _lastAccessTimeline) 
     484                        // �����ڂ��h�~���Ă������͈��Â���                        if (status.CreatedAt < _lastAccessReplies) 
    485485                        { 
    486                             _lastAccessTimeline = status.CreatedAt; 
     486                            _lastAccessReplies = status.CreatedAt; 
    487487                        } 
    488488                    } 
    489489                    else 
    490490                    { 
    491                         if (status.CreatedAt > _lastAccessTimeline) 
     491                        if (status.CreatedAt > _lastAccessReplies) 
    492492                        { 
    493                             _lastAccessTimeline = status.CreatedAt; 
     493                            _lastAccessReplies = status.CreatedAt; 
    494494                        } 
    495495                    } 
     
    749749        internal class PreAuthenticatedWebClient : WebClient 
    750750        { 
     751            private TwitterService _twitterService; 
     752            public PreAuthenticatedWebClient(TwitterService twitterService) 
     753            { 
     754                _twitterService = twitterService; 
     755            } 
    751756            protected override WebRequest GetWebRequest(Uri address) 
    752757            { 
     
    755760                webRequest.PreAuthenticate = true; 
    756761                webRequest.Accept = "text/xml, application/xml"; 
    757                 webRequest.UserAgent = String.Format("{0}/{1}", TwitterService.ClientName, GetType().Assembly.GetName().Version); 
     762                webRequest.UserAgent = String.Format("{0}/{1}", _twitterService.ClientName, GetType().Assembly.GetName().Version); 
    758763                //webRequest.Referer = TwitterService.Referer; 
    759                 webRequest.Headers["X-Twitter-Client"] = TwitterService.ClientName; 
    760                 webRequest.Headers["X-Twitter-Client-Version"] = TwitterService.ClientVersion; 
    761                 webRequest.Headers["X-Twitter-Client-URL"] = TwitterService.ClientUrl; 
     764                webRequest.Headers["X-Twitter-Client"] = _twitterService.ClientName; 
     765                webRequest.Headers["X-Twitter-Client-Version"] = _twitterService.ClientVersion; 
     766                webRequest.Headers["X-Twitter-Client-URL"] = _twitterService.ClientUrl; 
    762767 
    763768                return webRequest; 
     
    789794            else 
    790795            { 
    791                 url = TwitterService.ServiceServerPrefix + url; 
     796                url = ServiceServerPrefix + url; 
    792797                System.Diagnostics.Trace.WriteLine("GET: " + url); 
    793798                HttpWebRequest webRequest = CreateHttpWebRequest(url, "GET"); 
     
    800805        public String POST(String url, Byte[] postData) 
    801806        { 
    802             url = TwitterService.ServiceServerPrefix + url; 
     807            url = ServiceServerPrefix + url; 
    803808            System.Diagnostics.Trace.WriteLine("POST: " + url); 
    804809            HttpWebRequest webRequest = CreateHttpWebRequest(url, "POST"); 
     
    820825            webRequest.Method = method; 
    821826            webRequest.Accept = "text/xml, application/xml"; 
    822             webRequest.UserAgent = String.Format("{0}/{1}", TwitterService.ClientName, TwitterService.ClientVersion); 
     827            webRequest.UserAgent = String.Format("{0}/{1}", ClientName, ClientVersion); 
    823828            //webRequest.Referer = TwitterService.Referer; 
    824             webRequest.Headers["X-Twitter-Client"] = TwitterService.ClientName; 
    825             webRequest.Headers["X-Twitter-Client-Version"] = TwitterService.ClientVersion; 
    826             webRequest.Headers["X-Twitter-Client-URL"] = TwitterService.ClientUrl; 
     829            webRequest.Headers["X-Twitter-Client"] = ClientName; 
     830            webRequest.Headers["X-Twitter-Client-Version"] = ClientVersion; 
     831            webRequest.Headers["X-Twitter-Client-URL"] = ClientUrl; 
    827832 
    828833            Uri uri = new Uri(url); 
     
    840845        { 
    841846            Boolean isRetry = false; 
    842             url = TwitterService.ServiceServerPrefix + url; 
     847            url = ServiceServerPrefix + url; 
    843848        Retry: 
    844849            try