ENH Use guzzle for oembed

This commit is contained in:
Steve Boyd 2022-05-11 16:37:59 +12:00
parent baaa323644
commit c72efa0d3f
4 changed files with 21 additions and 1 deletions

View File

@ -4,6 +4,11 @@ Name: coreoembed
SilverStripe\Core\Injector\Injector:
SilverStripe\View\Embed\Embeddable:
class: SilverStripe\View\Embed\EmbedContainer
Psr\Http\Client\ClientInterface.oembed:
class: GuzzleHttp\Client
Embed\Http\Crawler:
constructor:
- '%$Psr\Http\Client\ClientInterface.oembed'
Embed\Embed:
constructor:
- '%$Embed\Http\Crawler'

View File

@ -60,7 +60,8 @@
},
"conflict": {
"egulias/email-validator": "^2",
"phpunit/phpunit": "^6 || ^7 || ^8"
"phpunit/phpunit": "^6 || ^7 || ^8",
"cwp/cwp-core": "<2.11.0"
},
"provide": {
"psr/container-implementation": "1.0.0"

View File

@ -265,6 +265,19 @@ SilverStripe\AssetAdmin\Forms\RemoteFileFormFactory:
HtmlEditorConfig::get('cms')->disablePlugins('ssembed');
```
Use the following config if you need to send outbound requests through a proxy:
```yaml
---
Name: myembed
After: coreoembed
---
SilverStripe\Core\Injector\Injector:
Psr\Http\Client\ClientInterface.oembed:
constructor:
- proxy: '111.222.333.444:55'
```
## Limiting oembed URLs
HtmlEditorField can have whitelists set on both the scheme (default http & https) and domains allowed when

View File

@ -102,6 +102,7 @@ This release includes a number of bug fixes to improve a broad range of areas. C
- If `guzzlehttp/guzzle` is required, it must now be at least `7.3.0`. This was done to ensure that v2 of `guzzlehttp/psr7` is installed, which is used by `embed/embed` v4
- `embed/embed` has been upgraded from v3 to v4. The internal implementation of the internal `Embeddable` interface has been changed from `EmbedResource` to `EmbedContainer`
- `embed/embed` has been configured to use a guzzle client instead of the default curl client so that a proxy configuration value can be set if required
<!--- Changes below this line will be automatically regenerated -->