/** * Parses the response according to its content-type header. * * @throws UnexpectedValueException * @param ResponseInterface $response * @return array */ protected function parseResponse(ResponseInterface $response) { $content = (string) $response->getBody(); if (strpos($content, "callback") !== false) { $lpos = strpos($content, "("); $rpos = strrpos($content, ")"); $content = substr($content, $lpos + 1, $rpos - $lpos - 1); return $this->parseJson($content); } else { if (strpos($content, "access_token=") !== false) { $result = array(); parse_str($content, $result); return $result; } else { return parent::parseResponse($response); } } }