本文整理汇总了C++中URL::HTTPOption方法的典型用法代码示例。如果您正苦于以下问题:C++ URL::HTTPOption方法的具体用法?C++ URL::HTTPOption怎么用?C++ URL::HTTPOption使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类URL
的用法示例。
在下文中一共展示了URL::HTTPOption方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: do_stat
DataStatus DataPointGFAL::do_stat(const URL& stat_url, FileInfo& file) {
struct stat st;
int res;
{
GFALEnvLocker gfal_lock(usercfg, lfc_host);
res = gfal_stat(GFALUtils::GFALURL(stat_url).c_str(), &st);
}
if (res < 0) {
logger.msg(VERBOSE, "gfal_stat failed: %s", StrError(gfal_posix_code_error()));
int error_no = GFALUtils::HandleGFALError(logger);
return DataStatus(DataStatus::StatError, error_no);
}
if(S_ISREG(st.st_mode)) {
file.SetType(FileInfo::file_type_file);
} else if(S_ISDIR(st.st_mode)) {
file.SetType(FileInfo::file_type_dir);
} else {
file.SetType(FileInfo::file_type_unknown);
}
std::string path = stat_url.Path();
// For SRM the path can be given as SFN HTTP Option
if ((stat_url.Protocol() == "srm" && !stat_url.HTTPOption("SFN").empty())) path = stat_url.HTTPOption("SFN");
std::string name = Glib::path_get_basename(path);
file.SetName(name);
file.SetSize(st.st_size);
file.SetModified(st.st_mtime);
file.SetMetaData("atime", (Time(st.st_atime)).str());
file.SetMetaData("ctime", (Time(st.st_ctime)).str());
std::string perms;
if (st.st_mode & S_IRUSR) perms += 'r'; else perms += '-';
if (st.st_mode & S_IWUSR) perms += 'w'; else perms += '-';
if (st.st_mode & S_IXUSR) perms += 'x'; else perms += '-';
if (st.st_mode & S_IRGRP) perms += 'r'; else perms += '-';
if (st.st_mode & S_IWGRP) perms += 'w'; else perms += '-';
if (st.st_mode & S_IXGRP) perms += 'x'; else perms += '-';
if (st.st_mode & S_IROTH) perms += 'r'; else perms += '-';
if (st.st_mode & S_IWOTH) perms += 'w'; else perms += '-';
if (st.st_mode & S_IXOTH) perms += 'x'; else perms += '-';
file.SetMetaData("accessperm", perms);
return DataStatus::Success;
}