code: public function createSealedRequest(
          string $method,
          string $uri,
          string $body,
          SealingPublicKey $key,
          array $headers = []
      ): RequestInterface {
          return new Request(
              $method,
              Uri::createFromString($uri),
              new Headers($headers),
              [],
              [],
              $this->stringToStream(
                  Base64UrlSafe::encode(Simple::seal($body, $key))
              ),
              []
          );
      }
docs: Encrypt your HTTP request with the server's public key, so that only
  the server can decrypt the message.
  
  @param string $method
  @param string $uri
  @param string $body
  @param SealingPublicKey $key
  @param array $headers
  @return RequestInterface