fix bug #28071. Many video previews are relatively large, esp. since MediaWiki only...
[lhc/web/wiklou.git] / includes / HttpFunctions.php
index ecf2277..841b341 100644 (file)
@@ -732,12 +732,7 @@ class PhpHttpRequest extends MWHttpRequest {
                        $options['content'] = $this->postData;
                }
 
-               $oldTimeout = false;
-               if ( version_compare( '5.2.1', phpversion(), '>' ) ) {
-                       $oldTimeout = ini_set( 'default_socket_timeout', $this->timeout );
-               } else {
-                       $options['timeout'] = $this->timeout;
-               }
+               $options['timeout'] = $this->timeout;
 
                $context = stream_context_create( array( 'http' => $options ) );
 
@@ -778,10 +773,6 @@ class PhpHttpRequest extends MWHttpRequest {
                        }
                } while ( true );
 
-               if ( $oldTimeout !== false ) {
-                       ini_set( 'default_socket_timeout', $oldTimeout );
-               }
-
                $this->setStatus();
 
                if ( $fh === false ) {
@@ -794,7 +785,10 @@ class PhpHttpRequest extends MWHttpRequest {
                        return $this->status;
                }
 
-               if ( $this->status->isOK() ) {
+               // If everything went OK, or we recieved some error code
+               // get the response body content.
+               if ( $this->status->isOK()
+                               || (int)$this->respStatus >= 300) {
                        while ( !feof( $fh ) ) {
                                $buf = fread( $fh, 8192 );