public function Process($parameters)
{
// set the URL parameters
$content = '';
$count = count($parameters['param']);
foreach ($parameters['param'] as $paramName => $param) {
$content .= $paramName . '=' . rawurlencode($param);
if (--$count > 0) {
$content .= '&';
}
}
$request = new \Buzz\Message\Request('GET', '/1/' . $parameters['endpoint'] . '?' . $content . '&key=' . $this->getEmbedlyApiKey(), 'http://api.embed.ly');
$response = new \Buzz\Message\Response();
$client = new \Buzz\Client\FileGetContents();
$client->send($request, $response);
$json = $response->getContent();
$decoder = new JsonDecode(true);
$result = $decoder->decode($json, 'json');
if ($response->getStatusCode() == '200') {
$parameters['response'] = $result;
} else {
$msg = 'Something went wrong';
if (isset($result['error_message'])) {
$msg = $result['error_message'];
}
throw new \Exception($msg);
}
return $parameters;
}