diff options
Diffstat (limited to 'Mammoth/Couscous/java/net/URL.cs')
| -rw-r--r-- | Mammoth/Couscous/java/net/URL.cs | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/Mammoth/Couscous/java/net/URL.cs b/Mammoth/Couscous/java/net/URL.cs new file mode 100644 index 0000000..88479e8 --- /dev/null +++ b/Mammoth/Couscous/java/net/URL.cs @@ -0,0 +1,28 @@ +using System.Net; +using Mammoth.Couscous.java.io; + +namespace Mammoth.Couscous.java.net { + internal class URL { + private readonly string _url; + + internal URL(string url) { + _url = url; + } + + internal InputStream openStream() { + try { + var response = WebRequest.Create(_url).GetResponse(); + try { + return ToJava.StreamToInputStream(response.GetResponseStream()); + } catch { + response.Close(); + throw; + } + } catch (System.UriFormatException) { + return ToJava.StreamToInputStream(System.IO.File.OpenRead(_url)); + } catch (System.Net.WebException exception) { + throw new java.io.IOException(exception.Message); + } + } + } +} |
