0

AmPHP を手に入れたばかりで、AmPHP http サーバーから投稿本文を取得しようとしていますが、永遠に続きます (クライアントに応答を返すことはありません)。
これは私が現在使用しているコードです:

$resp = \Amp\Promise\wait($request->getBody()->buffer());

永遠に続くわけではない別のコードをテストしましたが、その部分を使用すると、onResolve次の関数の外に体を出すことができません。

$resp = $request->getBody()->buffer()->onResolve(function($error, $value) {
  return $value;
});
return $resp; // returns null

私もこの最後のビットを試しましたが、それも返されますnull:

return yield $request->getBody()->buffer();

編集:さらにいじりました。これは私の現在の(まだ機能していない)コードです(ただし、簡単にするために多くの部分が削除されています)。

// Main loop
Loop::run(function() {
  $webhook = new Webhook();
  $resp = $webhook->execute($request);
  print_r($resp); // null
});

// Webhook
class Webhook {
  public function execute(\Amp\Http\Server\Request $request) {
    $postbody = yield $request->getBody()->buffer();
    return ['success' => true, 'message' => 'Webhook executed successfully', 'data' => $postbody];
  }
}
4

1 に答える 1