Skip to content

Commit

Permalink
Merge pull request #10311 from creative-commoners/pulls/4.11/oembed
Browse files Browse the repository at this point in the history
ENH Use guzzle for oembed
  • Loading branch information
GuySartorelli authored May 11, 2022
2 parents baaa323 + c72efa0 commit 62bf312
Show file tree
Hide file tree
Showing 4 changed files with 21 additions and 1 deletion.
5 changes: 5 additions & 0 deletions _config/oembed.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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'
3 changes: 2 additions & 1 deletion composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
1 change: 1 addition & 0 deletions docs/en/04_Changelogs/4.11.0.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 -->

Expand Down

0 comments on commit 62bf312

Please sign in to comment.