@@ -37,11 +37,11 @@ class Google_IO_Curl extends Google_IO_Abstract
3737 public function executeRequest (Google_Http_Request $ request )
3838 {
3939 $ curl = curl_init ();
40-
40+
4141 if ($ request ->getPostBody ()) {
4242 curl_setopt ($ curl , CURLOPT_POSTFIELDS , $ request ->getPostBody ());
4343 }
44-
44+
4545 $ requestHeaders = $ request ->getRequestHeaders ();
4646 if ($ requestHeaders && is_array ($ requestHeaders )) {
4747 $ curlHeaders = array ();
@@ -60,11 +60,11 @@ public function executeRequest(Google_Http_Request $request)
6060 curl_setopt ($ curl , CURLOPT_HEADER , true );
6161
6262 curl_setopt ($ curl , CURLOPT_URL , $ request ->getUrl ());
63-
63+
6464 if ($ request ->canGzip ()) {
6565 curl_setopt ($ curl , CURLOPT_ENCODING , 'gzip,deflate ' );
6666 }
67-
67+
6868 foreach ($ this ->options as $ key => $ var ) {
6969 curl_setopt ($ curl , $ key , $ var );
7070 }
@@ -90,6 +90,15 @@ public function executeRequest(Google_Http_Request $request)
9090 */
9191 public function setOptions ($ options )
9292 {
93- $ this ->options = $ options ;
93+ $ this ->options = array_merge ($ this ->options , $ options );
94+ }
95+
96+ /**
97+ * Set the maximum request time in seconds.
98+ * @param $timeout in seconds
99+ */
100+ public function setTimeout ($ timeout )
101+ {
102+ $ this ->options [CURLOPT_TIMEOUT ] = $ timeout ;
94103 }
95104}
0 commit comments