Blame view

sources/lib/private/davclient.php 1.64 KB
03e52840d   Kload   Init
1
  <?php
03e52840d   Kload   Init
2
3
4
  /**
   * ownCloud
   *
31b7f2792   Kload   Upgrade to ownclo...
5
6
   * @author Vincent Petry
   * @copyright 2013 Vincent Petry <pvince81@owncloud.com>
03e52840d   Kload   Init
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
   *
   * This library is free software; you can redistribute it and/or
   * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
   * License as published by the Free Software Foundation; either
   * version 3 of the License, or any later version.
   *
   * This library is distributed in the hope that it will be useful,
   * but WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   * GNU AFFERO GENERAL PUBLIC LICENSE for more details.
   *
   * You should have received a copy of the GNU Affero General Public
   * License along with this library.  If not, see <http://www.gnu.org/licenses/>.
   *
   */
31b7f2792   Kload   Upgrade to ownclo...
22
23
24
25
  /**
   * This class extends the SabreDAV client with additional functionality
   * like request timeout.
   */
6d9380f96   Cédric Dupont   Update sources OC...
26
  class OC_DAVClient extends \Sabre\DAV\Client {
31b7f2792   Kload   Upgrade to ownclo...
27
28
  
  	protected $requestTimeout;
6d9380f96   Cédric Dupont   Update sources OC...
29
  	protected $verifyHost;
03e52840d   Kload   Init
30
  	/**
6d9380f96   Cédric Dupont   Update sources OC...
31
32
  	 * Sets the request timeout or 0 to disable timeout.
  	 * @param integer $timeout in seconds or 0 to disable
03e52840d   Kload   Init
33
  	 */
31b7f2792   Kload   Upgrade to ownclo...
34
35
  	public function setRequestTimeout($timeout) {
  		$this->requestTimeout = (int)$timeout;
03e52840d   Kload   Init
36
  	}
6d9380f96   Cédric Dupont   Update sources OC...
37
38
39
40
41
42
43
  	/**
  	 * Sets the CURLOPT_SSL_VERIFYHOST setting
  	 * @param integer $value value to set CURLOPT_SSL_VERIFYHOST to
  	*/
  	public function setVerifyHost($value) {
  		$this->verifyHost = $value;
  	}
31b7f2792   Kload   Upgrade to ownclo...
44
45
46
  	protected function curlRequest($url, $settings) {
  		if ($this->requestTimeout > 0) {
  			$settings[CURLOPT_TIMEOUT] = $this->requestTimeout;
03e52840d   Kload   Init
47
  		}
6d9380f96   Cédric Dupont   Update sources OC...
48
49
50
  		if (!is_null($this->verifyHost)) {
  			$settings[CURLOPT_SSL_VERIFYHOST] = $this->verifyHost;
  		}
31b7f2792   Kload   Upgrade to ownclo...
51
  		return parent::curlRequest($url, $settings);
03e52840d   Kload   Init
52
53
  	}
  }