15
15
16
16
use JsonException ;
17
17
use Laudis \Neo4j \Common \TransactionHelper ;
18
+ use Laudis \Neo4j \Contracts \AuthenticateInterface ;
18
19
use Laudis \Neo4j \Contracts \FormatterInterface ;
19
20
use Laudis \Neo4j \Contracts \SessionInterface ;
20
21
use Laudis \Neo4j \Contracts \UnmanagedTransactionInterface ;
@@ -44,6 +45,7 @@ final class HttpSession implements SessionInterface
44
45
private FormatterInterface $ formatter ;
45
46
private RequestFactory $ requestFactory ;
46
47
private string $ uri ;
48
+ private AuthenticateInterface $ auth ;
47
49
48
50
/**
49
51
* @param FormatterInterface<T> $formatter
@@ -54,14 +56,16 @@ public function __construct(
54
56
SessionConfiguration $ config ,
55
57
FormatterInterface $ formatter ,
56
58
RequestFactory $ requestFactory ,
57
- string $ uri
59
+ string $ uri ,
60
+ AuthenticateInterface $ auth
58
61
) {
59
62
$ this ->streamFactory = $ factory ;
60
63
$ this ->config = $ config ;
61
64
$ this ->pool = $ manager ;
62
65
$ this ->formatter = $ formatter ;
63
66
$ this ->requestFactory = $ requestFactory ;
64
67
$ this ->uri = $ uri ;
68
+ $ this ->auth = $ auth ;
65
69
}
66
70
67
71
/**
@@ -70,7 +74,7 @@ public function __construct(
70
74
public function runStatements (iterable $ statements , ?TransactionConfiguration $ config = null ): CypherList
71
75
{
72
76
$ request = $ this ->requestFactory ->createRequest ('POST ' , $ this ->uri );
73
- $ client = $ this ->pool ->acquire ($ request ->getUri (), $ this ->config ->getAccessMode ());
77
+ $ client = $ this ->pool ->acquire ($ request ->getUri (), $ this ->config ->getAccessMode (), $ this -> auth );
74
78
$ content = HttpHelper::statementsToString ($ this ->formatter , $ statements );
75
79
$ request = $ this ->instantCommitRequest ($ request )->withBody ($ this ->streamFactory ->createStream ($ content ));
76
80
@@ -135,7 +139,7 @@ public function beginTransaction(?iterable $statements = null, ?TransactionConfi
135
139
{
136
140
$ request = $ this ->requestFactory ->createRequest ('POST ' , $ this ->uri );
137
141
$ request ->getBody ()->write (HttpHelper::statementsToString ($ this ->formatter , $ statements ?? []));
138
- $ client = $ this ->pool ->acquire ($ request ->getUri (), $ this ->config ->getAccessMode ());
142
+ $ client = $ this ->pool ->acquire ($ request ->getUri (), $ this ->config ->getAccessMode (), $ this -> auth );
139
143
$ response = $ client ->sendRequest ($ request );
140
144
141
145
/** @var array{commit: string} $data */
0 commit comments