-
Notifications
You must be signed in to change notification settings - Fork 40
Expand file tree
/
Copy pathConnectionConfiguration.php
More file actions
88 lines (74 loc) · 2.15 KB
/
Copy pathConnectionConfiguration.php
File metadata and controls
88 lines (74 loc) · 2.15 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
<?php
declare(strict_types=1);
/*
* This file is part of the Neo4j PHP Client and Driver package.
*
* (c) Nagels <https://nagels.tech>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Laudis\Neo4j\Common;
use Laudis\Neo4j\Databags\DatabaseInfo;
use Laudis\Neo4j\Enum\AccessMode;
use Laudis\Neo4j\Enum\ConnectionProtocol;
use Psr\Http\Message\UriInterface;
final class ConnectionConfiguration
{
/**
* @param ''|'s'|'ssc' $encryptionLevel
*/
public function __construct(
private string $serverAgent,
private readonly UriInterface $serverAddress,
private readonly ConnectionProtocol $protocol,
private readonly ?AccessMode $accessMode,
private readonly ?DatabaseInfo $databaseInfo,
private readonly string $encryptionLevel,
private bool $boltUtcPatchNegotiated = false,
) {
}
public function getServerAgent(): string
{
return $this->serverAgent;
}
// We can only know the server agent once we have established a connection and gotten a re
public function setServerAgent(string $serverAgent): void
{
$this->serverAgent = $serverAgent;
}
public function getServerAddress(): UriInterface
{
return $this->serverAddress;
}
public function getProtocol(): ConnectionProtocol
{
return $this->protocol;
}
public function getAccessMode(): ?AccessMode
{
return $this->accessMode;
}
public function getDatabaseInfo(): ?DatabaseInfo
{
return $this->databaseInfo;
}
/**
* @return ''|'s'|'ssc'
*/
public function getEncryptionLevel(): string
{
return $this->encryptionLevel;
}
/**
* True when the server echoed patch_bolt containing "utc" (Bolt 4.3–4.x UTC DateTime wire format).
*/
public function isBoltUtcPatchNegotiated(): bool
{
return $this->boltUtcPatchNegotiated;
}
public function setBoltUtcPatchNegotiated(bool $boltUtcPatchNegotiated): void
{
$this->boltUtcPatchNegotiated = $boltUtcPatchNegotiated;
}
}