public function upload(string $url, string $parameter_name, string $path): TransportClientResponse {
        $payload = array();
        $payload[$parameter_name] = (class_exists('CURLFile', false)) ?
            new \CURLFile($path) : '@' . $path;

        return $this->sendRequest($url, array(
            CURLOPT_POST       => 1,
            CURLOPT_HTTPHEADER => array(
                static::HEADER_UPLOAD_CONTENT_TYPE,
            ),
            CURLOPT_POSTFIELDS => $payload
        ));
    }