Mercurial > hg > isophonics-drupal-site
annotate vendor/behat/mink-goutte-driver/src/Goutte/Client.php @ 19:fa3358dc1485 tip
Add ndrum files
author | Chris Cannam |
---|---|
date | Wed, 28 Aug 2019 13:14:47 +0100 |
parents | 4c8ae668cc8c |
children |
rev | line source |
---|---|
Chris@0 | 1 <?php |
Chris@0 | 2 |
Chris@0 | 3 /* |
Chris@0 | 4 * This file is part of the Behat\Mink. |
Chris@0 | 5 * (c) Konstantin Kudryashov <ever.zet@gmail.com> |
Chris@0 | 6 * |
Chris@0 | 7 * For the full copyright and license information, please view the LICENSE |
Chris@0 | 8 * file that was distributed with this source code. |
Chris@0 | 9 */ |
Chris@0 | 10 |
Chris@0 | 11 namespace Behat\Mink\Driver\Goutte; |
Chris@0 | 12 |
Chris@0 | 13 use Goutte\Client as BaseClient; |
Chris@0 | 14 use Symfony\Component\BrowserKit\Response; |
Chris@0 | 15 |
Chris@0 | 16 /** |
Chris@0 | 17 * Client overrides to support Mink functionality. |
Chris@0 | 18 */ |
Chris@0 | 19 class Client extends BaseClient |
Chris@0 | 20 { |
Chris@0 | 21 /** |
Chris@0 | 22 * Reads response meta tags to guess content-type charset. |
Chris@0 | 23 * |
Chris@0 | 24 * @param Response $response |
Chris@0 | 25 * |
Chris@0 | 26 * @return Response |
Chris@0 | 27 */ |
Chris@0 | 28 protected function filterResponse($response) |
Chris@0 | 29 { |
Chris@0 | 30 $contentType = $response->getHeader('Content-Type'); |
Chris@0 | 31 |
Chris@0 | 32 if (!$contentType || false === strpos($contentType, 'charset=')) { |
Chris@0 | 33 if (preg_match('/\<meta[^\>]+charset *= *["\']?([a-zA-Z\-0-9]+)/i', $response->getContent(), $matches)) { |
Chris@0 | 34 $headers = $response->getHeaders(); |
Chris@0 | 35 $headers['Content-Type'] = $contentType.';charset='.$matches[1]; |
Chris@0 | 36 |
Chris@0 | 37 $response = new Response($response->getContent(), $response->getStatus(), $headers); |
Chris@0 | 38 } |
Chris@0 | 39 } |
Chris@0 | 40 |
Chris@0 | 41 return parent::filterResponse($response); |
Chris@0 | 42 } |
Chris@0 | 43 } |