std::string ZLNetworkManager::downloadFile(const std::string &url, const std::string &fileName, shared_ptr<ZLNetworkRequest::Listener> listener) const {
	shared_ptr<ZLNetworkRequest> data = createDownloadRequest(url, fileName);
	if (listener.isNull()) {
		return perform(data);
	}
	data->setListener(listener);
	return performAsync(data);
}
std::string ZLNetworkManager::downloadFile(const std::string &url, const ZLNetworkSSLCertificate &sslCertificate, const std::string &fileName, shared_ptr<ZLExecutionData::Listener> listener) const {
	shared_ptr<ZLExecutionData> data = createDownloadRequest(url, sslCertificate, fileName);
	data->setListener(listener);
	return perform(data);
}