Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 14 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
# Link Preview
[![Build Status](https://travis-ci.org/dusterio/link-preview.svg)](https://travis-ci.org/dusterio/link-preview)
[![Code Climate](https://codeclimate.com/github/dusterio/link-preview/badges/gpa.svg)](https://codeclimate.com/github/dusterio/link-preview/badges)
[![Test Coverage](https://codeclimate.com/github/dusterio/link-preview/badges/coverage.svg)](https://codeclimate.com/github/dusterio/link-preview/badges)
[![Total Downloads](https://poser.pugx.org/dusterio/link-preview/d/total.svg)](https://packagist.org/packages/dusterio/link-preview)
[![Latest Stable Version](https://poser.pugx.org/dusterio/link-preview/v/stable.svg)](https://packagist.org/packages/dusterio/link-preview)
[![Latest Unstable Version](https://poser.pugx.org/dusterio/link-preview/v/unstable.svg)](https://packagist.org/packages/dusterio/link-preview)
[![License](https://poser.pugx.org/dusterio/link-preview/license.svg)](https://packagist.org/packages/dusterio/link-preview)
[![Build Status](https://travis-ci.org/propay/link-preview.svg)](https://travis-ci.org/propay/link-preview)
[![Code Climate](https://codeclimate.com/github/propay/link-preview/badges/gpa.svg)](https://codeclimate.com/github/propay/link-preview/badges)
[![Test Coverage](https://codeclimate.com/github/propay/link-preview/badges/coverage.svg)](https://codeclimate.com/github/propay/link-preview/badges)
[![Total Downloads](https://poser.pugx.org/propay/link-preview/d/total.svg)](https://packagist.org/packages/propay/link-preview)
[![Latest Stable Version](https://poser.pugx.org/propay/link-preview/v/stable.svg)](https://packagist.org/packages/propay/link-preview)
[![Latest Unstable Version](https://poser.pugx.org/propay/link-preview/v/unstable.svg)](https://packagist.org/packages/propay/link-preview)
[![License](https://poser.pugx.org/propay/link-preview/license.svg)](https://packagist.org/packages/propay/link-preview)

A PHP class that consumes an HTTP(S) link and returns an array of preview information. Think of Facebook sharing -
whenever you paste a link, it goes to specified page and fetches some details.
Expand All @@ -25,23 +25,23 @@ Includes integrations with: Laravel 5
To install simply run:

```
composer require dusterio/link-preview
composer require propay/link-preview
```

Or add it to `composer.json` manually:

```json
{
"require": {
"dusterio/link-preview": "~1.2"
"propay/link-preview": "~1.2"
}
}
```

## Direct usage

```php
use Dusterio\LinkPreview\Client;
use Propay\LinkPreview\Client;

$previewClient = new Client('https://www.boogiecall.com/en/Melbourne');

Expand Down Expand Up @@ -87,15 +87,15 @@ $previewClient->getParser('general')->getReader()->config(['allow_redirects' =>
// If there is a network error (DNS, connect, etc), we throw ConnectionErrorException
try {
$previews = $previewClient->getPreviews();
} catch (\Dusterio\LinkPreview\Exceptions\ConnectionErrorException $e) {
} catch (\Propay\LinkPreview\Exceptions\ConnectionErrorException $e) {
echo "Oh no!";
}
```

### YouTube example

```php
use Dusterio\LinkPreview\Client;
use Propay\LinkPreview\Client;

$previewClient = new LinkPreview('https://www.youtube.com/watch?v=v1uKhwN6FtA');

Expand Down Expand Up @@ -123,12 +123,12 @@ array(2) {

'providers' => [
'...',
'Dusterio\LinkPreview\Integrations\LaravelServiceProvider',
'Propay\LinkPreview\Integrations\LaravelServiceProvider',
];

'aliases' => [
'...',
'Preview' => 'Dusterio\LinkPreview\Integrations\LaravelFacade',
'Preview' => 'Propay\LinkPreview\Integrations\LaravelFacade',
];

// Set target url
Expand Down
44 changes: 22 additions & 22 deletions build/logs/clover.xml
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<coverage generated="1458369831">
<project timestamp="1458369831">
<package name="Dusterio\LinkPreview">
<package name="Propay\LinkPreview">
<file name="/Users/duster/repos/link-preview/src/Client.php">
<class name="Client" namespace="Dusterio\LinkPreview">
<class name="Client" namespace="Propay\LinkPreview">
<metrics methods="10" coveredmethods="8" conditionals="0" coveredconditionals="0" statements="26" coveredstatements="23" elements="36" coveredelements="31"/>
</class>
<line num="27" type="method" name="__construct" crap="2" count="5"/>
Expand Down Expand Up @@ -57,49 +57,49 @@
<file name="/Users/duster/repos/link-preview/src/Contracts/ReaderInterface.php">
<metrics loc="15" ncloc="7" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
</file>
<package name="Dusterio\LinkPreview\Exceptions">
<package name="Propay\LinkPreview\Exceptions">
<file name="/Users/duster/repos/link-preview/src/Exceptions/MalformedUrlException.php">
<class name="MalformedUrlException" namespace="Dusterio\LinkPreview\Exceptions" fullPackage="Dusterio" package="Dusterio">
<class name="MalformedUrlException" namespace="Propay\LinkPreview\Exceptions" fullPackage="Propay" package="Propay">
<metrics methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
</class>
<metrics loc="12" ncloc="7" classes="1" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
</file>
<file name="/Users/duster/repos/link-preview/src/Exceptions/UnknownFieldException.php">
<class name="UnknownFieldException" namespace="Dusterio\LinkPreview\Exceptions" fullPackage="Dusterio" package="Dusterio">
<class name="UnknownFieldException" namespace="Propay\LinkPreview\Exceptions" fullPackage="Propay" package="Propay">
<metrics methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
</class>
<metrics loc="11" ncloc="6" classes="1" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
</file>
<file name="/Users/duster/repos/link-preview/src/Exceptions/UnknownParserException.php">
<class name="UnknownParserException" namespace="Dusterio\LinkPreview\Exceptions" fullPackage="Dusterio" package="Dusterio">
<class name="UnknownParserException" namespace="Propay\LinkPreview\Exceptions" fullPackage="Propay" package="Propay">
<metrics methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
</class>
<metrics loc="12" ncloc="7" classes="1" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
</file>
</package>
<package name="Dusterio\LinkPreview\Integrations">
<package name="Propay\LinkPreview\Integrations">
<file name="/Users/duster/repos/link-preview/src/Integrations/LaravelFacade.php">
<class name="LaravelFacade" namespace="Dusterio\LinkPreview\Integrations" fullPackage="Dusterio" package="Dusterio">
<class name="LaravelFacade" namespace="Propay\LinkPreview\Integrations" fullPackage="Propay" package="Propay">
<metrics methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
</class>
<metrics loc="22" ncloc="12" classes="1" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
</file>
<file name="/Users/duster/repos/link-preview/src/Integrations/LaravelServiceProvider.php">
<class name="LaravelServiceProvider" namespace="Dusterio\LinkPreview\Integrations" fullPackage="Dusterio" package="Dusterio">
<class name="LaravelServiceProvider" namespace="Propay\LinkPreview\Integrations" fullPackage="Propay" package="Propay">
<metrics methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
</class>
<metrics loc="51" ncloc="26" classes="1" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
</file>
</package>
<package name="Dusterio\LinkPreview\Models">
<package name="Propay\LinkPreview\Models">
<file name="/Users/duster/repos/link-preview/src/Models/HtmlPreview.php">
<class name="HtmlPreview" namespace="Dusterio\LinkPreview\Models">
<class name="HtmlPreview" namespace="Propay\LinkPreview\Models">
<metrics methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
</class>
<metrics loc="43" ncloc="27" classes="1" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
</file>
<file name="/Users/duster/repos/link-preview/src/Models/Link.php">
<class name="Link" namespace="Dusterio\LinkPreview\Models">
<class name="Link" namespace="Propay\LinkPreview\Models">
<metrics methods="11" coveredmethods="8" conditionals="0" coveredconditionals="0" statements="18" coveredstatements="14" elements="29" coveredelements="22"/>
</class>
<line num="37" type="method" name="__construct" crap="2" count="8"/>
Expand Down Expand Up @@ -134,15 +134,15 @@
<metrics loc="132" ncloc="83" classes="1" methods="11" coveredmethods="8" conditionals="0" coveredconditionals="0" statements="18" coveredstatements="14" elements="29" coveredelements="22"/>
</file>
<file name="/Users/duster/repos/link-preview/src/Models/VideoPreview.php">
<class name="VideoPreview" namespace="Dusterio\LinkPreview\Models">
<class name="VideoPreview" namespace="Propay\LinkPreview\Models">
<metrics methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
</class>
<metrics loc="38" ncloc="23" classes="1" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
</file>
</package>
<package name="Dusterio\LinkPreview\Parsers">
<package name="Propay\LinkPreview\Parsers">
<file name="/Users/duster/repos/link-preview/src/Parsers/BaseParser.php">
<class name="BaseParser" namespace="Dusterio\LinkPreview\Parsers">
<class name="BaseParser" namespace="Propay\LinkPreview\Parsers">
<metrics methods="5" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="7" coveredstatements="5" elements="12" coveredelements="8"/>
</class>
<line num="24" type="method" name="getPreview" crap="1" count="1"/>
Expand All @@ -160,7 +160,7 @@
<metrics loc="66" ncloc="42" classes="1" methods="5" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="7" coveredstatements="5" elements="12" coveredelements="8"/>
</file>
<file name="/Users/duster/repos/link-preview/src/Parsers/HtmlParser.php">
<class name="HtmlParser" namespace="Dusterio\LinkPreview\Parsers">
<class name="HtmlParser" namespace="Propay\LinkPreview\Parsers">
<metrics methods="7" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="36" coveredstatements="4" elements="43" coveredelements="6"/>
</class>
<line num="56" type="method" name="__construct" crap="3" count="5"/>
Expand Down Expand Up @@ -209,7 +209,7 @@
<metrics loc="169" ncloc="121" classes="1" methods="7" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="36" coveredstatements="4" elements="43" coveredelements="6"/>
</file>
<file name="/Users/duster/repos/link-preview/src/Parsers/YouTubeParser.php">
<class name="YouTubeParser" namespace="Dusterio\LinkPreview\Parsers">
<class name="YouTubeParser" namespace="Propay\LinkPreview\Parsers">
<metrics methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="11" coveredstatements="11" elements="15" coveredelements="15"/>
</class>
<line num="26" type="method" name="__construct" crap="3" count="5"/>
Expand All @@ -230,9 +230,9 @@
<metrics loc="62" ncloc="43" classes="1" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="11" coveredstatements="11" elements="15" coveredelements="15"/>
</file>
</package>
<package name="Dusterio\LinkPreview\Readers">
<package name="Propay\LinkPreview\Readers">
<file name="/Users/duster/repos/link-preview/src/Readers/HttpReader.php">
<class name="HttpReader" namespace="Dusterio\LinkPreview\Readers">
<class name="HttpReader" namespace="Propay\LinkPreview\Readers">
<metrics methods="4" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="11" coveredstatements="10" elements="15" coveredelements="13"/>
</class>
<line num="24" type="method" name="getClient" crap="2.15" count="1"/>
Expand All @@ -256,9 +256,9 @@
<metrics loc="62" ncloc="47" classes="1" methods="4" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="14" coveredstatements="13" elements="18" coveredelements="16"/>
</file>
</package>
<package name="Dusterio\LinkPreview\Traits">
<package name="Propay\LinkPreview\Traits">
<file name="/Users/duster/repos/link-preview/src/Traits/HasExportableFields.php">
<class name="HasExportableFields" namespace="Dusterio\LinkPreview\Traits">
<class name="HasExportableFields" namespace="Propay\LinkPreview\Traits">
<metrics methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="6" coveredstatements="0" elements="8" coveredelements="0"/>
</class>
<line num="10" type="method" name="getFields" crap="6" count="0"/>
Expand All @@ -272,7 +272,7 @@
<metrics loc="29" ncloc="23" classes="1" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="6" coveredstatements="0" elements="8" coveredelements="0"/>
</file>
<file name="/Users/duster/repos/link-preview/src/Traits/HasImportableFields.php">
<class name="HasImportableFields" namespace="Dusterio\LinkPreview\Traits">
<class name="HasImportableFields" namespace="Propay\LinkPreview\Traits">
<metrics methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="17" coveredstatements="7" elements="19" coveredelements="7"/>
</class>
<line num="15" type="method" name="__call" crap="10.54" count="1"/>
Expand Down
10 changes: 5 additions & 5 deletions composer.json
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
{
"name": "dusterio/link-preview",
"name": "propay/link-preview",
"type": "library",
"description": "Link preview generation for PHP with Laravel support",
"keywords": ["php","url","scraping","laravel","preview"],
"homepage": "http://github.com/dusterio/link-preview",
"homepage": "http://github.com/propay/link-preview",
"license": "MIT",
"authors": [
{
Expand All @@ -14,7 +14,7 @@
],
"require": {
"php": ">=5.5.0",
"illuminate/support": "5.*|6.*|7.*|8.*|9.*",
"illuminate/support": "5.*|6.*|7.*|8.*|9.*|10.*|11.*",
"guzzlehttp/guzzle": "^6.1|^7.1",
"symfony/dom-crawler": "^3.0|^4.0|^5.0|^6.0",
"symfony/css-selector": "^3.0|^4.0|^5.0|^6.0"
Expand All @@ -25,13 +25,13 @@
},
"autoload": {
"psr-4": {
"Dusterio\\LinkPreview\\": "src/"
"Propay\\LinkPreview\\": "src/"
}
},
"extra":{
"laravel": {
"providers": [
"Dusterio\\LinkPreview\\Integrations\\LaravelServiceProvider"
"Propay\\LinkPreview\\Integrations\\LaravelServiceProvider"
]
}
}
Expand Down
18 changes: 9 additions & 9 deletions src/Client.php
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
<?php

namespace Dusterio\LinkPreview;

use Dusterio\LinkPreview\Contracts\ParserInterface;
use Dusterio\LinkPreview\Contracts\PreviewInterface;
use Dusterio\LinkPreview\Parsers\HtmlParser;
use Dusterio\LinkPreview\Parsers\YouTubeParser;
use Dusterio\LinkPreview\Parsers\VimeoParser;
use Dusterio\LinkPreview\Models\Link;
use Dusterio\LinkPreview\Exceptions\UnknownParserException;
namespace Propay\LinkPreview;

use Propay\LinkPreview\Contracts\ParserInterface;
use Propay\LinkPreview\Contracts\PreviewInterface;
use Propay\LinkPreview\Parsers\HtmlParser;
use Propay\LinkPreview\Parsers\YouTubeParser;
use Propay\LinkPreview\Parsers\VimeoParser;
use Propay\LinkPreview\Models\Link;
use Propay\LinkPreview\Exceptions\UnknownParserException;

class Client
{
Expand Down
2 changes: 1 addition & 1 deletion src/Contracts/LinkInterface.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?php

namespace Dusterio\LinkPreview\Contracts;
namespace Propay\LinkPreview\Contracts;

/**
* Interface LinkInterface
Expand Down
10 changes: 5 additions & 5 deletions src/Contracts/ParserInterface.php
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?php

namespace Dusterio\LinkPreview\Contracts;
use Dusterio\LinkPreview\Models\Preview;
namespace Propay\LinkPreview\Contracts;
use Propay\LinkPreview\Models\VideoPreview;

/**
* Interface ParserInterface
Expand Down Expand Up @@ -51,12 +51,12 @@ public function setPreview(PreviewInterface $preview);
* @param LinkInterface $link
* @return boolean
*/
public function canParseLink(LinkInterface $link);
public function canParseLink(LinkInterface $link): bool;

/**
* Parse link
* @param LinkInterface $link
* @return $this
*/
public function parseLink(LinkInterface $link);
}
public function parseLink(LinkInterface $link): static;
}
2 changes: 1 addition & 1 deletion src/Contracts/PreviewInterface.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?php

namespace Dusterio\LinkPreview\Contracts;
namespace Propay\LinkPreview\Contracts;

/**
* Interface PreviewInterface
Expand Down
2 changes: 1 addition & 1 deletion src/Contracts/ReaderInterface.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?php

namespace Dusterio\LinkPreview\Contracts;
namespace Propay\LinkPreview\Contracts;

/**
* Interface ReaderInterface
Expand Down
4 changes: 2 additions & 2 deletions src/Exceptions/ConnectionErrorException.php
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
<?php

namespace Dusterio\LinkPreview\Exceptions;
namespace Propay\LinkPreview\Exceptions;

/**
* Class ConnectionErorException
* @package Dusterio\LinkPreview\Exceptions
* @package Propay\LinkPreview\Exceptions
*/
class ConnectionErrorException extends \Exception
{
Expand Down
4 changes: 2 additions & 2 deletions src/Exceptions/MalformedUrlException.php
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
<?php

namespace Dusterio\LinkPreview\Exceptions;
namespace Propay\LinkPreview\Exceptions;

/**
* Class MalformedUrlException
* @package Dusterio\LinkPreview\Exceptions
* @package Propay\LinkPreview\Exceptions
* @codeCoverageIgnore
*/
class MalformedUrlException extends \Exception
Expand Down
4 changes: 2 additions & 2 deletions src/Exceptions/UnknownFieldException.php
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
<?php

namespace Dusterio\LinkPreview\Exceptions;
namespace Propay\LinkPreview\Exceptions;

/**
* Class UnknownFieldException
* @package Dusterio\LinkPreview\Exceptions
* @package Propay\LinkPreview\Exceptions
* @codeCoverageIgnore
*/
class UnknownFieldException extends \Exception
Expand Down
4 changes: 2 additions & 2 deletions src/Exceptions/UnknownParserException.php
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
<?php

namespace Dusterio\LinkPreview\Exceptions;
namespace Propay\LinkPreview\Exceptions;

/**
* Class UnknownParserException
* @package Dusterio\LinkPreview\Exceptions
* @package Propay\LinkPreview\Exceptions
* @codeCoverageIgnore
*/
class UnknownParserException extends \Exception
Expand Down
4 changes: 2 additions & 2 deletions src/Integrations/LaravelFacade.php
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
<?php
namespace Dusterio\LinkPreview\Integrations;
namespace Propay\LinkPreview\Integrations;

use Illuminate\Support\Facades\Facade;

/**
* Class LaravelFacade
* @package Dusterio\LinkPreview\Integrations
* @package Propay\LinkPreview\Integrations
* @codeCoverageIgnore
*/
class LaravelFacade extends Facade
Expand Down
Loading