Skip to content

Commit 139cc02

Browse files
committed
Allow netacuity url to be injected
1 parent bf0c302 commit 139cc02

File tree

3 files changed

+38
-11
lines changed

3 files changed

+38
-11
lines changed

src/Databases/AbstractNetAcuityDatabase.php

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,12 @@
1313
*/
1414
abstract class AbstractNetAcuityDatabase implements NetAcuityDatabaseInterface
1515
{
16+
/**
17+
* @var string
18+
* @internal
19+
*/
20+
const DEFAULT_NETACUITY_BASE_URL = 'https://usa.cloud.netacuity.com/webservice/query';
21+
1622
/**
1723
* @var ClientInterface The GuzzleHttp Client.
1824
*/
@@ -23,6 +29,11 @@ abstract class AbstractNetAcuityDatabase implements NetAcuityDatabaseInterface
2329
*/
2430
protected $translations;
2531

32+
/**
33+
* @var string
34+
*/
35+
protected $netacuityBaseUrl;
36+
2637
/**
2738
* @var string The API User Token.
2839
*/
@@ -36,15 +47,18 @@ abstract class AbstractNetAcuityDatabase implements NetAcuityDatabaseInterface
3647
/**
3748
* AbstractNetAcuityDatabase constructor.
3849
*
39-
* @param ClientInterface $client The injected GuzzleHttp Client.
40-
* @param string $apiUserToken The Net Acuity API User Token.
50+
* @param ClientInterface $client The injected GuzzleHttp Client.
51+
* @param string $apiUserToken The Net Acuity API User Token.
52+
* @param string $netacuityBaseUrl The base url for the netacuity webservice.
4153
*/
4254
public function __construct(
4355
ClientInterface $client,
44-
string $apiUserToken
56+
string $apiUserToken,
57+
string $netacuityBaseUrl
4558
) {
4659
$this->client = $client;
4760
$this->apiUserToken = $apiUserToken;
61+
$this->netacuityBaseUrl = $netacuityBaseUrl;
4862
}
4963

5064
/**
@@ -117,7 +131,6 @@ protected function parseBody(array $response)
117131
*/
118132
protected function buildQuery(string $userToken, string $ip): string
119133
{
120-
$baseUrl = 'https://usa.cloud.netacuity.com/webservice/query';
121-
return "{$baseUrl}?u={$userToken}&dbs={$this->databaseIdentifier}&ip={$ip}&json=true";
134+
return "{$this->netacuityBaseUrl}?u={$userToken}&dbs={$this->databaseIdentifier}&ip={$ip}&json=true";
122135
}
123136
}

src/Databases/EdgeDatabase.php

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,17 @@ final class EdgeDatabase extends AbstractNetAcuityDatabase
1212
/**
1313
* EdgeDatabase constructor.
1414
*
15-
* @param ClientInterface $client The injected GuzzleHttp Client.
16-
* @param string $apiUserToken The Net Acuity API User Token.
15+
* @param ClientInterface $client The injected GuzzleHttp Client.
16+
* @param string $apiUserToken The Net Acuity API User Token.
17+
* @param string $netacuityBaseUrl The base url for the netacuity webservice.
1718
*/
18-
public function __construct(ClientInterface $client, string $apiUserToken)
19+
public function __construct(
20+
ClientInterface $client,
21+
string $apiUserToken,
22+
string $netacuityBaseUrl = self::DEFAULT_NETACUITY_BASE_URL
23+
)
1924
{
20-
parent::__construct($client, $apiUserToken);
25+
parent::__construct($client, $apiUserToken, $netacuityBaseUrl);
2126

2227
$this->databaseIdentifier = 4;
2328

src/Databases/PulseDatabase.php

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,18 @@
66

77
class PulseDatabase extends AbstractNetAcuityDatabase
88
{
9-
public function __construct(ClientInterface $client, string $apiUserToken)
9+
/**
10+
* @param ClientInterface $client The injected GuzzleHttp Client.
11+
* @param string $apiUserToken The Net Acuity API User Token.
12+
* @param string $netacuityBaseUrl The base url for the netacuity webservice.
13+
*/
14+
public function __construct(
15+
ClientInterface $client,
16+
string $apiUserToken,
17+
string $netacuityBaseUrl = self::DEFAULT_NETACUITY_BASE_URL
18+
)
1019
{
11-
parent::__construct($client, $apiUserToken);
20+
parent::__construct($client, $apiUserToken, $netacuityBaseUrl);
1221

1322
$this->databaseIdentifier = 26;
1423

0 commit comments

Comments
 (0)