1 16 package org.apache.commons.vfs.provider.http; 17 18 import org.apache.commons.httpclient.Header; 19 import org.apache.commons.httpclient.HeaderElement; 20 import org.apache.commons.httpclient.HttpException; 21 import org.apache.commons.vfs.FileContent; 22 import org.apache.commons.vfs.FileContentInfo; 23 import org.apache.commons.vfs.FileContentInfoFactory; 24 import org.apache.commons.vfs.FileSystemException; 25 import org.apache.commons.vfs.impl.DefaultFileContentInfo; 26 27 32 public class HttpFileContentInfoFactory implements FileContentInfoFactory 33 { 34 public FileContentInfo create(FileContent fileContent) throws FileSystemException 35 { 36 HttpFileObject httpFile = (HttpFileObject) fileContent.getFile(); 37 38 String contentType = null; 39 String contentEncoding = null; 40 41 Header header = httpFile.getHeadMethod().getResponseHeader("content-type"); 42 if (header != null) 43 { 44 HeaderElement[] element; 45 try 46 { 47 element = header.getValues(); 48 } 49 catch (HttpException e) 50 { 51 throw new FileSystemException(e); 52 } 53 if (element != null && element.length > 0) 54 { 55 contentType = element[0].getName(); 56 } 57 } 58 59 contentEncoding = httpFile.getHeadMethod().getResponseCharSet(); 60 61 return new DefaultFileContentInfo(contentType, contentEncoding); 62 } 63 } 64 | Popular Tags |