summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArnold Daniels <arnold@jasny.net>2016-05-01 08:56:36 +0200
committerArnold Daniels <arnold@jasny.net>2016-05-01 08:56:36 +0200
commite2735ac085e0b426acbc7c1694c2384856303e48 (patch)
treeca5e2e088dfe8f6e314d3433595d7a639a739aff
parent10524d58a35bfcb6cabbb57ce2c83231391fe11f (diff)
downloadsso-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.php9
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);
}