<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -87,7 +87,7 @@ module RestClient
 
 	# Internal class used to build and execute the request.
 	class Request
-		attr_reader :method, :url, :payload, :headers, :user, :password
+		attr_reader :method, :url, :payload, :headers, :user, :password, :timeout
 
 		def self.execute(args)
 			new(args).execute
@@ -100,6 +100,7 @@ module RestClient
 			@payload = process_payload(args[:payload])
 			@user = args[:user]
 			@password = args[:password]
+			@timeout = args[:timeout]
 		end
 
 		def execute
@@ -169,6 +170,7 @@ module RestClient
 			net = net_http_class.new(uri.host, uri.port)
 			net.use_ssl = uri.is_a?(URI::HTTPS)
 			net.verify_mode = OpenSSL::SSL::VERIFY_NONE
+			net.write_timeout = net.read_timeout = @timeout if @timeout
 
 			display_log request_log
 </diff>
      <filename>lib/rest_client.rb</filename>
    </modified>
    <modified>
      <diff>@@ -328,5 +328,17 @@ describe RestClient do
 			f.should_receive(:puts).with('xyz')
 			@request.display_log('xyz')
 		end
+		
+		it &quot;set read_timeout&quot; do
+			@request = RestClient::Request.new(:method =&gt; :put, :url =&gt; 'http://some/resource', :payload =&gt; 'payload', :timeout =&gt; 123)
+			@http.stub!(:request)
+			@request.stub!(:process_result)
+			@request.stub!(:response_log)
+			
+			@net.should_receive(:read_timeout=).with(123)
+			@net.should_receive(:write_timeout=).with(123)
+			
+			@request.transmit(@uri, 'req', nil)
+		end
 	end
 end</diff>
      <filename>spec/rest_client_spec.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>51d55dc4ce2ea25f49b0a5aa9eae41f883e0edf3</id>
    </parent>
  </parents>
  <author>
    <name>macournoyer</name>
    <email>macournoyer@gmail.com</email>
  </author>
  <url>http://github.com/pedro/rest-client/commit/d62da7ef827be578727328a6768e4df861a592aa</url>
  <id>d62da7ef827be578727328a6768e4df861a592aa</id>
  <committed-date>2008-11-25T11:28:14-08:00</committed-date>
  <authored-date>2008-11-25T11:28:14-08:00</authored-date>
  <message>Add timeout option to Request.</message>
  <tree>22bb1f445e10d8baf4258a7736fd2d0012ba3673</tree>
  <committer>
    <name>macournoyer</name>
    <email>macournoyer@gmail.com</email>
  </committer>
</commit>
