summaryrefslogtreecommitdiffstats
path: root/lib/Config
diff options
context:
space:
mode:
authorSean Molenaar <sean@seanmolenaar.eu>2019-03-17 20:17:40 +0100
committerSean Molenaar <SMillerDev@users.noreply.github.com>2019-03-18 10:39:32 +0100
commit9b915e24aff1c1805f1951ea78c09becc2a36271 (patch)
tree7dc18c927c4fc1b6b1653bb6833f2bf717c6d103 /lib/Config
parent6ed63bdedd859f6eb4e5ea4a992867a295a200fd (diff)
Use a copy of the FeedIO client that doesn't specify a useragent
Diffstat (limited to 'lib/Config')
-rw-r--r--lib/Config/FetcherConfig.php3
-rw-r--r--lib/Config/LegacyGuzzleClient.php65
-rw-r--r--lib/Config/LegacyGuzzleResponse.php86
3 files changed, 2 insertions, 152 deletions
diff --git a/lib/Config/FetcherConfig.php b/lib/Config/FetcherConfig.php
index 3110b0018..7631485f5 100644
--- a/lib/Config/FetcherConfig.php
+++ b/lib/Config/FetcherConfig.php
@@ -15,7 +15,8 @@ namespace OCA\News\Config;
use FeedIo\Adapter\ClientInterface;
use \GuzzleHttp\Client;
-use \FeedIo\Adapter\Guzzle\Client as FeedIoClient;
+use OCA\News\Fetcher\Client\FeedIoClient;
+use OCA\News\Fetcher\Client\LegacyGuzzleClient;
use OCP\IConfig;
/**
diff --git a/lib/Config/LegacyGuzzleClient.php b/lib/Config/LegacyGuzzleClient.php
deleted file mode 100644
index bc1364c30..000000000
--- a/lib/Config/LegacyGuzzleClient.php
+++ /dev/null
@@ -1,65 +0,0 @@
-<?php
-/**
- * Nextcloud - News
- *
- * This file is licensed under the Affero General Public License version 3 or
- * later. See the COPYING file.
- *
- * @author Sean Molenaar <smillernl@me.com>
- * @copyright 2018 Sean Molenaar
- */
-
-namespace OCA\News\Config;
-
-use FeedIo\Adapter\ClientInterface as FeedIoClientInterface;
-use FeedIo\Adapter\NotFoundException;
-use FeedIo\Adapter\ServerErrorException;
-use Guzzle\Service\ClientInterface;
-use GuzzleHttp\Exception\BadResponseException;
-
-/**
- * Guzzle dependent HTTP client
- */
-class LegacyGuzzleClient implements FeedIoClientInterface
-{
- /**
- * @var ClientInterface
- */
- protected $guzzleClient;
-
- /**
- * @param ClientInterface $guzzleClient
- */
- public function __construct(ClientInterface $guzzleClient)
- {
- $this->guzzleClient = $guzzleClient;
- }
-
- /**
- * @param string $url
- * @param \DateTime $modifiedSince
- * @throws \FeedIo\Adapter\NotFoundException
- * @throws \FeedIo\Adapter\ServerErrorException
- * @return \FeedIo\Adapter\ResponseInterface
- */
- public function getResponse($url, \DateTime $modifiedSince)
- {
- try {
- $options = [
- 'headers' => [
- 'User-Agent' => 'NextCloud-News/1.0',
- 'If-Modified-Since' => $modifiedSince->format(\DateTime::RFC2822)
- ]
- ];
-
- return new LegacyGuzzleResponse($this->guzzleClient->get($url, $options));
- } catch (BadResponseException $e) {
- switch ((int) $e->getResponse()->getStatusCode()) {
- case 404:
- throw new NotFoundException($e->getMessage());
- default:
- throw new ServerErrorException($e->getMessage());
- }
- }
- }
-}
diff --git a/lib/Config/LegacyGuzzleResponse.php b/lib/Config/LegacyGuzzleResponse.php
deleted file mode 100644
index 9358eba15..000000000
--- a/lib/Config/LegacyGuzzleResponse.php
+++ /dev/null
@@ -1,86 +0,0 @@
-<?php
-/**
- * Nextcloud - News
- *
- * This file is licensed under the Affero General Public License version 3 or
- * later. See the COPYING file.
- *
- * @author Sean Molenaar <smillernl@me.com>
- * @copyright 2018 Sean Molenaar
- */
-
-namespace OCA\News\Config;
-
-use FeedIo\Adapter\ResponseInterface;
-use GuzzleHttp\Message\ResponseInterface as GuzzleResponseInterface;
-
-/**
- * Guzzle dependent HTTP Response
- */
-class LegacyGuzzleResponse implements ResponseInterface
-{
- const HTTP_LAST_MODIFIED = 'Last-Modified';
-
- /**
- * @var \GuzzleHttp\Message\ResponseInterface
- */
- protected $response;
-
- /**
- * @param \GuzzleHttp\Message\ResponseInterface
- */
- public function __construct(GuzzleResponseInterface $psrResponse)
- {
- $this->response = $psrResponse;
- }
-
- /**
- * @return boolean
- */
- public function isModified()
- {
- return $this->response->getStatusCode() !== 304 && $this->response->getBody()->getSize() > 0;
- }
-
- /**
- * @return \Psr\Http\Message\StreamInterface
- */
- public function getBody()
- {
- return $this->response->getBody();
- }
-
- /**
- * @return \DateTime|null
- */
- public function getLastModified()
- {
- if ($this->response->hasHeader(static::HTTP_LAST_MODIFIED)) {
- $lastModified = \DateTime::createFromFormat(
- \DateTime::RFC2822,
- $this->getHeader(static::HTTP_LAST_MODIFIED)
- );
-
- return false === $lastModified ? null : $lastModified;
- }
-
- return;
- }
-
- /**
- * @return array
- */
- public function getHeaders()
- {
- return $this->response->getHeaders();
- }
-
- /**
- * @param string $name
- * @return string[]
- */
- public function getHeader($name)
- {
- return current($this->response->getHeader($name));
- }
-}