public static function factory($config = array()) { if (isset($config['developer_mode']) && is_bool($config['developer_mode'])) { $developerMode = $config['developer_mode']; } else { $developerMode = false; } $baseUrl = array('https://api.auspost.com.au', 'https://devcentre.auspost.com.au/myapi'); // Ignore unnecessary user-specified configuration values if ($developerMode) { unset($config['email_address']); unset($config['password']); } unset($config['base_url']); $default = array('developer_mode' => $developerMode, 'base_url' => $baseUrl[$developerMode], 'email_address' => '*****@*****.**', 'password' => 'password'); $required = array('developer_mode', 'base_url', 'email_address', "password"); $config = Collection::fromConfig($config, $default, $required); $client = new self($config->get('base_url'), $config); $client->getConfig()->setPath('request.options/headers/Authorization', 'Basic ' . base64_encode($config->get('email_address') . ':' . $config->get('password'))); $client->setDescription(ServiceDescription::factory(__DIR__ . '/service.json')); $client->setSslVerification(false); $client->getEventDispatcher()->addListener('request.before_send', function (Event $event) { $request = $event['request']; $request->addCookie('OBBasicAuth', 'fromDialog'); }); return $client; }
public static function factory($config = array()) { if (isset($config['developer_mode']) && is_bool($config['developer_mode'])) { $developerMode = $config['developer_mode']; } else { $developerMode = false; } $baseUrl = array('https://auspost.com.au', 'https://test.npe.auspost.com.au'); // Ignore unnecessary user-specified configuration values if ($developerMode) { unset($config['auth_key']); } unset($config['base_url']); $default = array('developer_mode' => $developerMode, 'base_url' => $baseUrl[$developerMode], 'auth_key' => '28744ed5982391881611cca6cf5c2409'); $required = array('developer_mode', 'base_url', 'auth_key'); $config = Collection::fromConfig($config, $default, $required); $client = new self($config->get('base_url'), $config); $client->getConfig()->setPath('request.options/headers/Accept', 'application/json'); $client->getConfig()->setPath('request.options/headers/Auth-Key', $config->get('auth_key')); $client->setDescription(ServiceDescription::factory(__DIR__ . '/service.json')); $client->setSslVerification(false); return $client; }