<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -12,10 +12,17 @@ namespace :twitter do
     unless status.empty?
       
       http = Net::HTTP.new(TWITTER_UPDATE_URL.host, 80)
+      http.read_timeout = 30
+      
       headers = {'Authorization' =&gt; 'Basic ' + [&quot;#{twitter_user}:#{twitter_password}&quot;].pack('m').delete(&quot;\r\n&quot;)}
       
       body = &quot;status=#{CGI.escape(status)}&quot;
-      http.send(:post, TWITTER_UPDATE_URL.path, body, headers) 
+      begin
+        http.send(:post, TWITTER_UPDATE_URL.path, body, headers) 
+      rescue Timeout::Error =&gt; e
+        puts &quot;Timeout after 30s: Seems like Twitter is down.&quot;
+        puts &quot;Use \&quot;cap twitter:update\&quot; to update Twitter status later w/o deploying&quot;
+      end
       # if an exception is thrown, let them see it, they're a developer (most likely)
     end
   end</diff>
      <filename>recipes/twitter.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>c56718e56226f65ad3879bec3cfdc4f35c289c85</id>
    </parent>
  </parents>
  <author>
    <name>Arya Asemanfar</name>
    <email>arya.asemanfar@gmail.com</email>
  </author>
  <url>http://github.com/arya/capistrano_twitter/commit/d01dbc93f1316110def9c4a7e60fe3d1133979af</url>
  <id>d01dbc93f1316110def9c4a7e60fe3d1133979af</id>
  <committed-date>2008-06-05T19:43:19-07:00</committed-date>
  <authored-date>2008-06-05T19:43:19-07:00</authored-date>
  <message>* Added timeout message</message>
  <tree>092b20d57086015dedf70e1e088a3be748602352</tree>
  <committer>
    <name>Arya Asemanfar</name>
    <email>arya.asemanfar@gmail.com</email>
  </committer>
</commit>
