Skip to content

Commit c90fc06

Browse files
committed
Fix for #567
1 parent c4671ab commit c90fc06

File tree

2 files changed

+26
-14
lines changed

2 files changed

+26
-14
lines changed

api.php

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9793,15 +9793,21 @@ private function parseBody(string $body) /*: ?object*/
97939793

97949794
private function addParsedBody(ServerRequestInterface $request): ServerRequestInterface
97959795
{
9796-
$body = $request->getBody();
9797-
if ($body->isReadable() && $body->isSeekable()) {
9798-
$contents = $body->getContents();
9799-
$body->rewind();
9800-
if ($contents) {
9801-
$parsedBody = $this->parseBody($contents);
9802-
$request = $request->withParsedBody($parsedBody);
9796+
$contents = '';
9797+
$parsedBody = $request->getParsedBody();
9798+
if ($parsedBody) {
9799+
$contents = json_encode($parsedBody);
9800+
} else {
9801+
$body = $request->getBody();
9802+
if ($body->isReadable() && $body->isSeekable()) {
9803+
$contents = $body->getContents();
9804+
$body->rewind();
98039805
}
98049806
}
9807+
if ($contents) {
9808+
$parsedBody = $this->parseBody($contents);
9809+
$request = $request->withParsedBody($parsedBody);
9810+
}
98059811
return $request;
98069812
}
98079813

src/Tqdev/PhpCrudApi/Api.php

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -160,15 +160,21 @@ private function parseBody(string $body) /*: ?object*/
160160

161161
private function addParsedBody(ServerRequestInterface $request): ServerRequestInterface
162162
{
163-
$body = $request->getBody();
164-
if ($body->isReadable() && $body->isSeekable()) {
165-
$contents = $body->getContents();
166-
$body->rewind();
167-
if ($contents) {
168-
$parsedBody = $this->parseBody($contents);
169-
$request = $request->withParsedBody($parsedBody);
163+
$contents = '';
164+
$parsedBody = $request->getParsedBody();
165+
if ($parsedBody) {
166+
$contents = json_encode($parsedBody);
167+
} else {
168+
$body = $request->getBody();
169+
if ($body->isReadable() && $body->isSeekable()) {
170+
$contents = $body->getContents();
171+
$body->rewind();
170172
}
171173
}
174+
if ($contents) {
175+
$parsedBody = $this->parseBody($contents);
176+
$request = $request->withParsedBody($parsedBody);
177+
}
172178
return $request;
173179
}
174180

0 commit comments

Comments
 (0)