1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.vfs2.provider;
18
19 import java.io.IOException;
20 import java.io.InputStream;
21 import java.io.OutputStream;
22 import java.net.URL;
23 import java.net.URLConnection;
24
25 import org.apache.commons.vfs2.FileContent;
26 import org.apache.commons.vfs2.FileSystemException;
27
28
29
30
31 public final class DefaultURLConnection extends URLConnection {
32
33 private final FileContent content;
34
35 public DefaultURLConnection(final URL url, final FileContent content) {
36 super(url);
37 this.content = content;
38 }
39
40 @Override
41 public void connect() {
42 connected = true;
43 }
44
45 @Override
46 public InputStream getInputStream() throws IOException {
47 return content.getInputStream();
48 }
49
50 @Override
51 public OutputStream getOutputStream() throws IOException {
52 return content.getOutputStream();
53 }
54
55 @Override
56 public long getLastModified() {
57 try {
58 return content.getLastModifiedTime();
59 } catch (final FileSystemException ignored) {
60 return -1;
61 }
62 }
63
64 @Override
65 public int getContentLength() {
66 try {
67 return (int) content.getSize();
68 } catch (final FileSystemException fse) {
69 return -1;
70 }
71 }
72
73 @Override
74 public String getContentType() {
75 try {
76 return content.getContentInfo().getContentType();
77 } catch (final FileSystemException e) {
78 throw new RuntimeException(e.getMessage());
79 }
80 }
81
82 @Override
83 public String getContentEncoding() {
84 try {
85 return content.getContentInfo().getContentEncoding();
86 } catch (final FileSystemException e) {
87 throw new RuntimeException(e.getMessage());
88 }
89 }
90
91
92
93
94
95
96
97
98 }