getRequestOptions()` is forwarded so caller-supplied timeouts, * retries, and streaming flags survive round-tripping. * * @since 0.1.0 * * @param HttpMethodEnum $method HTTP verb, e.g. POST. * @param string $path Endpoint-relative request path. * @param array $headers Optional request headers. * @param mixed $data Optional request body, typically a JSON-serializable array. * @return Request The constructed request object. */ protected function createRequest( HttpMethodEnum $method, string $path, array $headers = array(), $data = null ): Request { return new Request( $method, OsaurusProvider::url( $path ), $headers, $data, $this->getRequestOptions() ); } }