1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.vfs2.provider.http4;
18
19 import java.io.IOException;
20
21 import org.apache.commons.vfs2.FileContent;
22 import org.apache.commons.vfs2.FileContentInfo;
23 import org.apache.commons.vfs2.FileContentInfoFactory;
24 import org.apache.commons.vfs2.FileSystemException;
25 import org.apache.commons.vfs2.impl.DefaultFileContentInfo;
26 import org.apache.commons.vfs2.util.FileObjectUtils;
27 import org.apache.http.Header;
28 import org.apache.http.HttpResponse;
29 import org.apache.http.entity.ContentType;
30 import org.apache.http.protocol.HTTP;
31
32
33
34
35
36
37
38 @Deprecated
39 public class Http4FileContentInfoFactory implements FileContentInfoFactory {
40
41
42
43
44 public Http4FileContentInfoFactory() {
45
46 }
47
48 @SuppressWarnings("unchecked")
49 @Override
50 public FileContentInfo create(final FileContent fileContent) throws FileSystemException {
51 String contentMimeType = null;
52 String contentCharset = null;
53
54 try (Http4FileObject<Http4FileSystem> http4File = (Http4FileObject<Http4FileSystem>) FileObjectUtils
55 .getAbstractFileObject(fileContent.getFile())) {
56 final HttpResponse lastHeadResponse = http4File.getLastHeadResponse();
57
58 final Header header = lastHeadResponse.getFirstHeader(HTTP.CONTENT_TYPE);
59
60 if (header != null) {
61 final ContentType contentType = ContentType.parse(header.getValue());
62 contentMimeType = contentType.getMimeType();
63
64 if (contentType.getCharset() != null) {
65 contentCharset = contentType.getCharset().name();
66 }
67 }
68
69 return new DefaultFileContentInfo(contentMimeType, contentCharset);
70 } catch (final IOException e) {
71 throw new FileSystemException(e);
72 }
73 }
74 }