package railo.runtime.functions.file;
import railo.commons.io.res.Resource;
import railo.commons.io.res.util.ResourceUtil;
import railo.commons.lang.StringUtil;
import railo.runtime.PageContext;
import railo.runtime.exp.PageException;
import railo.runtime.op.Caster;
public class FileGetMimeType {
public static String call(PageContext pc, Object oSrc) throws PageException {
return call(pc, oSrc, true);
}
public static String call(PageContext pc, Object oSrc, boolean checkHeader) throws PageException {
Resource src = Caster.toResource(pc,oSrc,false);
pc.getConfig().getSecurityManager().checkFileLocation(src);
// check type
int checkingType=checkHeader?ResourceUtil.MIMETYPE_CHECK_HEADER:ResourceUtil.MIMETYPE_CHECK_EXTENSION;
String mimeType = ResourceUtil.getMimeType(src, checkingType, null);
if(StringUtil.isEmpty(mimeType,true)) return "application/octet-stream";
return mimeType;
}
}