code: public function post($url, $data = null, $method = "POST")
    {
      return $this->request([
        CURLOPT_POST => true,
        CURLOPT_CUSTOMREQUEST => $method ?: "POST",
        CURLOPT_URL => "$url",
        CURLOPT_POSTFIELDS => $data ?: '',
      ]);
    }
docs: HTTP POST-like method caller
  
  Performs HTTP request on a given `$url`.
  
  Returns response body, if applicable.
  
  The request body is generated from `$data` by cURL as defined in the
  description of {@see \curl_setopt() CURLOPT_POSTFIELDS option}.
  
  Upon successful(*) request, the basic status block is populated.
  
  (*)The definition of success depends on cURL handle settings.
  
  @param string $url An URL to access.
  @param mixed $data The POST data in CURLOPT_POSTFIELDS-appropriate format.
  @param ?string $method The request method, defaults to POST.
  @return string Response body.