/** * @scenario An exception is thrown when a deferred result cannot be obtained after a configured number of attempts * * @expectedException RuntimeException */ public function testGetDeferredResultMaxAttemptsReached() { $client = new Client('someone', 'some_secret', 'http://www.whatever.com'); $client->setDeferredResultInterval(0); $client->setDeferredResultMaxAttempts(2); $mock = new Mock([new Response(202, [], Stream::factory('First attempt')), new Response(202, [], Stream::factory('Second attempt')), new Response(202, [], Stream::factory('Third attempt')), new Response(200, [], Stream::factory('Finally!'))]); $client->getGuzzleClient()->getEmitter()->attach($mock); $response = $client->get('some_path', []); $content = $response->getBody()->getContents(); }
/** * To use this test, set the first three environment variables to match your own credentials. The test should * output data for the first constituent in your database. * * This test is ignored by the test suite. */ public function testApiCall() { $id = getenv('BSD_API_ID'); $secret = getenv('BSD_API_SECRET'); $baseUrl = getenv('BSD_API_BASEURL'); if ($id && $secret && $baseUrl) { $client = new Client($id, $secret, $baseUrl); $response = $client->get("cons/get_constituents_by_id", ['cons_ids' => '1']); $contents = $response->getBody()->getContents(); echo $contents; } }
<?php require "vendor/autoload.php"; use Blue\Tools\Api\Client; $client = new Client('widget-generator', '16a5024e331bf5ed07606bf31dde455abb26496e', 'https://whichcouk.cp.bsd.net'); $formID = $_GET['formID']; $response = $client->get('signup/list_form_fields?signup_form_id=' . $formID); $fields = $response->getBody(); $variables = json_encode(simplexml_load_string($fields)); print_r($variables);
<?php require "vendor/autoload.php"; use Blue\Tools\Api\Client; $client = new Client('widget-generator', '16a5024e331bf5ed07606bf31dde455abb26496e', 'https://testenvironment-whichcouk.cp.bsd.net'); $formID = $_GET['formID']; /** @var ResponseInterface $response */ $response = $client->get('entities/signup_form/' . $formID); $json = $response->getBody(); echo $json; // $entities = json_decode($json); // var_dump($entities);
<?php //retrieve form definitions from the blue state API require "../vendor/autoload.php"; require "config.php"; use Blue\Tools\Api\Client; $client = new Client($config['username'], $config['secret'], $_GET['branch']); $formID = $_GET['formID']; /** @var ResponseInterface $response */ $response = $client->get('signup/get_form?signup_form_id=' . $formID); $json = $response->getBody(); $variables = json_encode(simplexml_load_string($json)); print_r($variables);
public function post($path, $parameters = [], $data = '', $autoresolveDeferred = true, string $contentType = null) { if ($contentType) { switch ($contentType) { case 'xml': case 'json': break; default: throw new InvalidArgumentException("contentType '{$contentType}' is invalid"); } } else { $contentType = 'xml'; } $response = parent::post($path, $parameters, $data, $autoresolveDeferred); switch ($contentType) { case 'xml': return (string) $response->getBody(); case 'json': return json_decode((string) $response->getBody(), true); } }