63 lines
1.3 KiB
PHP
63 lines
1.3 KiB
PHP
|
<?php
|
||
|
|
||
|
namespace dokuwiki;
|
||
|
|
||
|
use dokuwiki\HTTP\DokuHTTPClient;
|
||
|
|
||
|
/**
|
||
|
* Fetch an URL using our own HTTPClient
|
||
|
*
|
||
|
* Replaces SimplePie's own class
|
||
|
*/
|
||
|
class FeedParserFile extends \SimplePie_File
|
||
|
{
|
||
|
protected $http;
|
||
|
/** @noinspection PhpMissingParentConstructorInspection */
|
||
|
|
||
|
/**
|
||
|
* Inititializes the HTTPClient
|
||
|
*
|
||
|
* We ignore all given parameters - they are set in DokuHTTPClient
|
||
|
*
|
||
|
* @inheritdoc
|
||
|
*/
|
||
|
public function __construct(
|
||
|
$url,
|
||
|
$timeout = 10,
|
||
|
$redirects = 5,
|
||
|
$headers = null,
|
||
|
$useragent = null,
|
||
|
$force_fsockopen = false,
|
||
|
$curl_options = array()
|
||
|
) {
|
||
|
$this->http = new DokuHTTPClient();
|
||
|
$this->success = $this->http->sendRequest($url);
|
||
|
|
||
|
$this->headers = $this->http->resp_headers;
|
||
|
$this->body = $this->http->resp_body;
|
||
|
$this->error = $this->http->error;
|
||
|
|
||
|
$this->method = SIMPLEPIE_FILE_SOURCE_REMOTE | SIMPLEPIE_FILE_SOURCE_FSOCKOPEN;
|
||
|
|
||
|
return $this->success;
|
||
|
}
|
||
|
|
||
|
/** @inheritdoc */
|
||
|
public function headers()
|
||
|
{
|
||
|
return $this->headers;
|
||
|
}
|
||
|
|
||
|
/** @inheritdoc */
|
||
|
public function body()
|
||
|
{
|
||
|
return $this->body;
|
||
|
}
|
||
|
|
||
|
/** @inheritdoc */
|
||
|
public function close()
|
||
|
{
|
||
|
return true;
|
||
|
}
|
||
|
}
|