1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.vfs2.provider.http;
18
19 import java.io.IOException;
20
21 import org.apache.commons.httpclient.Header;
22 import org.apache.commons.httpclient.HeaderElement;
23 import org.apache.commons.httpclient.methods.HeadMethod;
24 import org.apache.commons.lang3.ArrayUtils;
25 import org.apache.commons.vfs2.FileContent;
26 import org.apache.commons.vfs2.FileContentInfo;
27 import org.apache.commons.vfs2.FileContentInfoFactory;
28 import org.apache.commons.vfs2.FileSystemException;
29 import org.apache.commons.vfs2.impl.DefaultFileContentInfo;
30 import org.apache.commons.vfs2.util.FileObjectUtils;
31
32
33
34
35
36
37 @Deprecated
38 public class HttpFileContentInfoFactory implements FileContentInfoFactory {
39
40
41
42
43 public HttpFileContentInfoFactory() {
44
45 }
46
47 @Override
48 public FileContentInfo create(final FileContent fileContent) throws FileSystemException {
49
50 String contentType = null;
51
52 final HeadMethod headMethod;
53 try (HttpFileObject<HttpFileSystem> httpFile = (HttpFileObject<HttpFileSystem>) FileObjectUtils
54 .getAbstractFileObject(fileContent.getFile())) {
55 headMethod = httpFile.getHeadMethod();
56 } catch (final IOException e) {
57 throw new FileSystemException(e);
58 }
59 final Header header = headMethod.getResponseHeader("content-type");
60 if (header != null) {
61 final HeaderElement[] element = header.getElements();
62 if (!ArrayUtils.isEmpty(element)) {
63 contentType = element[0].getName();
64 }
65 }
66
67 return new DefaultFileContentInfo(contentType, headMethod.getResponseCharSet());
68 }
69 }