Skip to content

Commit 5c08909

Browse files
committed
enforced session config to be provided when verifying connectivity
1 parent be07394 commit 5c08909

File tree

7 files changed

+19
-15
lines changed

7 files changed

+19
-15
lines changed

src/Basic/Driver.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,9 +49,9 @@ public function createSession(?SessionConfiguration $config = null): Session
4949
return new Session($this->driver->createSession($config));
5050
}
5151

52-
public function verifyConnectivity(): bool
52+
public function verifyConnectivity(?SessionConfiguration $config = null): bool
5353
{
54-
return $this->driver->verifyConnectivity();
54+
return $this->driver->verifyConnectivity($config);
5555
}
5656

5757
/**

src/Bolt/BoltDriver.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -105,10 +105,11 @@ public function createSession(?SessionConfiguration $config = null): SessionInte
105105
return new Session($sessionConfig, $this->pool, $this->formatter);
106106
}
107107

108-
public function verifyConnectivity(): bool
108+
public function verifyConnectivity(?SessionConfiguration $config = null): bool
109109
{
110+
$config ??= SessionConfiguration::default();
110111
try {
111-
GeneratorHelper::getReturnFromGenerator($this->pool->acquire(SessionConfiguration::default()));
112+
GeneratorHelper::getReturnFromGenerator($this->pool->acquire($config));
112113
} catch (Throwable $e) {
113114
return false;
114115
}

src/Client.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ public function beginTransaction(?iterable $statements = null, ?string $alias =
8080

8181
public function getDriver(?string $alias): DriverInterface
8282
{
83-
return $this->driverSetups->getDriver($alias);
83+
return $this->driverSetups->getDriver($this->defaultSessionConfiguration, $alias);
8484
}
8585

8686
/**
@@ -114,7 +114,7 @@ public function transaction(callable $tsxHandler, ?string $alias = null, ?Transa
114114

115115
public function verifyConnectivity(?string $driver = null): bool
116116
{
117-
return $this->driverSetups->verifyConnectivity($driver);
117+
return $this->driverSetups->verifyConnectivity($this->defaultSessionConfiguration, $driver);
118118
}
119119

120120
private function getTsxConfig(?TransactionConfiguration $config): TransactionConfiguration

src/Common/DriverSetupManager.php

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111

1212
namespace Laudis\Neo4j\Common;
1313

14+
use Laudis\Neo4j\Databags\SessionConfiguration;
1415
use function array_key_exists;
1516
use function array_key_first;
1617
use function array_reduce;
@@ -76,7 +77,7 @@ public function withSetup(DriverSetup $setup, ?string $alias = null, ?int $prior
7677
/**
7778
* @return DriverInterface<ResultFormat>
7879
*/
79-
public function getDriver(?string $alias = null): DriverInterface
80+
public function getDriver(SessionConfiguration $config, ?string $alias = null): DriverInterface
8081
{
8182
$alias ??= $this->decideAlias($alias);
8283

@@ -90,7 +91,7 @@ public function getDriver(?string $alias = null): DriverInterface
9091
$setup = new DriverSetup(Uri::create(self::DEFAULT_DRIVER_CONFIG), Authenticate::disabled());
9192
$this->driverSetups['default']->insert($setup, PHP_INT_MIN);
9293

93-
return $this->getDriver();
94+
return $this->getDriver($config);
9495
}
9596

9697
if (array_key_exists($alias, $this->drivers)) {
@@ -104,7 +105,7 @@ public function getDriver(?string $alias = null): DriverInterface
104105

105106
$driver = DriverFactory::create($uri, $this->configuration, $auth, $this->formatter);
106107
$urisTried[] = $uri->__toString();
107-
if ($driver->verifyConnectivity()) {
108+
if ($driver->verifyConnectivity($config)) {
108109
$this->drivers[$alias] = $driver;
109110

110111
return $driver;
@@ -114,10 +115,10 @@ public function getDriver(?string $alias = null): DriverInterface
114115
throw new RuntimeException(sprintf('Cannot connect to any server on alias: %s with Uris: (\'%s\')', $alias, implode('\', ', array_unique($urisTried))));
115116
}
116117

117-
public function verifyConnectivity(?string $alias = null): bool
118+
public function verifyConnectivity(SessionConfiguration $config, ?string $alias = null): bool
118119
{
119120
try {
120-
$this->getDriver($alias);
121+
$this->getDriver($config, $alias);
121122
} catch (RuntimeException $e) {
122123
return false;
123124
}

src/Contracts/DriverInterface.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,5 +38,5 @@ public function createSession(?SessionConfiguration $config = null): SessionInte
3838
/**
3939
* Returns true if the driver can make a valid connection with the server.
4040
*/
41-
public function verifyConnectivity(): bool;
41+
public function verifyConnectivity(?SessionConfiguration $config = null): bool;
4242
}

src/Http/HttpDriver.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,8 @@ public function createSession(?SessionConfiguration $config = null): SessionInte
127127

128128
public function verifyConnectivity(?SessionConfiguration $config = null): bool
129129
{
130-
return $this->getHttpConnectionPool($this->tsxUrl($config ?? SessionConfiguration::default()))
130+
$config ??= SessionConfiguration::default();
131+
return $this->getHttpConnectionPool($this->tsxUrl($config))
131132
->canConnect($this->uri, $this->auth);
132133
}
133134

src/Neo4j/Neo4jDriver.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -107,10 +107,11 @@ public function createSession(?SessionConfiguration $config = null): SessionInte
107107
return new Session($config, $this->pool, $this->formatter);
108108
}
109109

110-
public function verifyConnectivity(): bool
110+
public function verifyConnectivity(?SessionConfiguration $config = null): bool
111111
{
112+
$config ??= SessionConfiguration::default();
112113
try {
113-
GeneratorHelper::getReturnFromGenerator($this->pool->acquire(SessionConfiguration::default()));
114+
GeneratorHelper::getReturnFromGenerator($this->pool->acquire($config));
114115
} catch (Throwable $e) {
115116
return false;
116117
}

0 commit comments

Comments
 (0)