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.util.Collection;
20
21 import org.apache.commons.httpclient.HttpClient;
22 import org.apache.commons.httpclient.HttpConnectionManager;
23 import org.apache.commons.httpclient.MultiThreadedHttpConnectionManager;
24 import org.apache.commons.vfs2.Capability;
25 import org.apache.commons.vfs2.FileObject;
26 import org.apache.commons.vfs2.FileSystemOptions;
27 import org.apache.commons.vfs2.provider.AbstractFileName;
28 import org.apache.commons.vfs2.provider.AbstractFileSystem;
29 import org.apache.commons.vfs2.provider.GenericFileName;
30
31
32
33
34
35
36 @Deprecated
37 public class HttpFileSystem extends AbstractFileSystem {
38
39 private final HttpClient httpClient;
40
41
42
43
44
45
46
47
48 protected HttpFileSystem(final GenericFileName rootName, final HttpClient httpClient,
49 final FileSystemOptions fileSystemOptions) {
50 super(rootName, null, fileSystemOptions);
51 this.httpClient = httpClient;
52 }
53
54
55
56
57 @Override
58 protected void addCapabilities(final Collection<Capability> caps) {
59 caps.addAll(HttpFileProvider.CAPABILITIES);
60 }
61
62
63 @Override
64 public void closeCommunicationLink() {
65 if (getClient() != null) {
66 final HttpConnectionManager mgr = getClient().getHttpConnectionManager();
67 if (mgr instanceof MultiThreadedHttpConnectionManager) {
68 ((MultiThreadedHttpConnectionManager) mgr).shutdown();
69 }
70 }
71 }
72
73
74
75
76 @Override
77 protected FileObject createFile(final AbstractFileName name) throws Exception {
78 return new HttpFileObject<>(name, this);
79 }
80
81
82
83
84
85
86 protected HttpClient getClient() {
87 return httpClient;
88 }
89 }