Skip to content

Commit e11ac10

Browse files
committed
moved prepary body method to HttpCypherFormatter
1 parent 51b09bb commit e11ac10

File tree

2 files changed

+30
-26
lines changed

2 files changed

+30
-26
lines changed

src/Formatter/HttpCypherFormatter.php

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,12 @@
1616
use Ds\Map;
1717
use Ds\Vector;
1818
use InvalidArgumentException;
19+
use JsonException;
1920
use Laudis\Neo4j\Databags\Neo4jError;
21+
use Laudis\Neo4j\Databags\RequestData;
22+
use Laudis\Neo4j\Databags\Statement;
2023
use Laudis\Neo4j\Databags\StatementStatistics;
24+
use stdClass;
2125

2226
/**
2327
* @psalm-type CypherStats = array{
@@ -130,4 +134,28 @@ private function buildResult(array $result): Vector
130134

131135
return $tbr;
132136
}
137+
138+
/**
139+
* @param iterable<Statement> $statements
140+
*
141+
* @throws JsonException
142+
*/
143+
public function prepareBody(iterable $statements, RequestData $config): string
144+
{
145+
$tbr = [];
146+
foreach ($statements as $statement) {
147+
$st = [
148+
'statement' => $statement->getText(),
149+
'resultDataContents' => ['ROW'],
150+
'includeStats' => $config->includeStats(),
151+
];
152+
$parameters = $statement->getParameters();
153+
$st['parameters'] = $parameters === [] ? new stdClass() : $parameters;
154+
$tbr[] = $st;
155+
}
156+
157+
return json_encode([
158+
'statements' => $tbr,
159+
], JSON_THROW_ON_ERROR);
160+
}
133161
}

src/HttpDriver/RequestFactory.php

Lines changed: 2 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ private function createRequest(RequestData $data, string $method, string $body =
6262
*/
6363
public function pushToTransaction(RequestData $data, int $transactionId, iterable $statements): RequestInterface
6464
{
65-
$body = $this->prepareBody($statements, $data);
65+
$body = $this->formatter->prepareBody($statements, $data);
6666
$endpoint = $data->getEndpoint().'/'.$transactionId;
6767

6868
return $this->createRequest($data->withEndpoint($endpoint), 'POST', $body);
@@ -75,7 +75,7 @@ public function pushToTransaction(RequestData $data, int $transactionId, iterabl
7575
*/
7676
public function post(RequestData $data, iterable $statements): RequestInterface
7777
{
78-
$body = $this->prepareBody($statements, $data);
78+
$body = $this->formatter->prepareBody($statements, $data);
7979

8080
return $this->createRequest($data, 'POST', $body);
8181
}
@@ -84,28 +84,4 @@ public function delete(RequestData $data): RequestInterface
8484
{
8585
return $this->createRequest($data, 'DELETE');
8686
}
87-
88-
/**
89-
* @param iterable<Statement> $statements
90-
*
91-
* @throws JsonException
92-
*/
93-
private function prepareBody(iterable $statements, RequestData $config): string
94-
{
95-
$tbr = [];
96-
foreach ($statements as $statement) {
97-
$st = [
98-
'statement' => $statement->getText(),
99-
'resultDataContents' => ['ROW'],
100-
'includeStats' => $config->includeStats(),
101-
];
102-
$parameters = $statement->getParameters();
103-
$st['parameters'] = $parameters === [] ? new stdClass() : $parameters;
104-
$tbr[] = $st;
105-
}
106-
107-
return json_encode([
108-
'statements' => $tbr,
109-
], JSON_THROW_ON_ERROR);
110-
}
11187
}

0 commit comments

Comments
 (0)