diff options
author | Arnold Daniels <arnold@jasny.net> | 2016-05-01 08:56:36 +0200 |
---|---|---|
committer | Arnold Daniels <arnold@jasny.net> | 2016-05-01 08:56:36 +0200 |
commit | e2735ac085e0b426acbc7c1694c2384856303e48 (patch) | |
tree | ca5e2e088dfe8f6e314d3433595d7a639a739aff | |
parent | 10524d58a35bfcb6cabbb57ce2c83231391fe11f (diff) | |
download | sso-origin/improve-error-message.zip sso-origin/improve-error-message.tar.gz sso-origin/improve-error-message.tar.bz2 |
Improve error message in Broker for invalid content-type of server responseorigin/improve-error-message
-rw-r--r-- | src/Broker.php | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/Broker.php b/src/Broker.php index 3daf3ed..1da965e 100644 --- a/src/Broker.php +++ b/src/Broker.php @@ -209,7 +209,14 @@ class Broker list($contentType) = explode(';', curl_getinfo($ch, CURLINFO_CONTENT_TYPE)); if ($contentType != 'application/json') { - $message = 'Expected application/json response, got ' . $contentType; + $pageUrl = preg_replace('/\?.*$/', '', $url); + $message = "HTTP request '$method $pageUrl' failed: " + . "Expected a application/json response, got $contentType"; + + if ($contentType === 'text/html' && preg_match('<title[^>]+>([^<>]+)</title>', $response, $match)) { + $message .= " With" + } + throw new Exception($message); } |