aboutsummaryrefslogtreecommitdiff
path: root/dotnet/Mammoth/Couscous/mammoth/internal/util
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2016-04-17 18:57:29 +0100
committerMichael Williamson <mike@zwobble.org>2016-04-17 18:58:12 +0100
commit52140d52210eda0f25ecab9f89b5c73473e9d8e0 (patch)
treecb383edb71e44b8ae7b2b0d0890f13574d1922f0 /dotnet/Mammoth/Couscous/mammoth/internal/util
parent0f9ef005f063198ea2e16ca36beaead4bd5e3824 (diff)
Add CLI for .NET version
Diffstat (limited to 'dotnet/Mammoth/Couscous/mammoth/internal/util')
-rw-r--r--dotnet/Mammoth/Couscous/mammoth/internal/util/Base64Encoding.cs12
-rw-r--r--dotnet/Mammoth/Couscous/mammoth/internal/util/PassThroughException.cs8
-rw-r--r--dotnet/Mammoth/Couscous/mammoth/internal/util/Sets.cs3
3 files changed, 19 insertions, 4 deletions
diff --git a/dotnet/Mammoth/Couscous/mammoth/internal/util/Base64Encoding.cs b/dotnet/Mammoth/Couscous/mammoth/internal/util/Base64Encoding.cs
index f8270b0..24d2f9c 100644
--- a/dotnet/Mammoth/Couscous/mammoth/internal/util/Base64Encoding.cs
+++ b/dotnet/Mammoth/Couscous/mammoth/internal/util/Base64Encoding.cs
@@ -3,8 +3,16 @@ using Mammoth.Couscous.java.io;
namespace Mammoth.Couscous.org.zwobble.mammoth.@internal.util {
internal static class Base64Encoding {
- internal static string streamToBase64(SupplierWithException<InputStream, IOException> stream) {
- throw new UnsupportedOperationException();
+ internal static string streamToBase64(SupplierWithException<InputStream, IOException> streamSupplier) {
+ using (var stream = streamSupplier.get().Stream) {
+ return streamToBase64(stream);
+ }
+ }
+
+ internal static string streamToBase64(System.IO.Stream stream) {
+ var memoryStream = new System.IO.MemoryStream();
+ stream.CopyTo(memoryStream);
+ return System.Convert.ToBase64String(memoryStream.ToArray());
}
}
}
diff --git a/dotnet/Mammoth/Couscous/mammoth/internal/util/PassThroughException.cs b/dotnet/Mammoth/Couscous/mammoth/internal/util/PassThroughException.cs
index 4bd2a2a..88597e3 100644
--- a/dotnet/Mammoth/Couscous/mammoth/internal/util/PassThroughException.cs
+++ b/dotnet/Mammoth/Couscous/mammoth/internal/util/PassThroughException.cs
@@ -10,6 +10,14 @@ namespace Mammoth.Couscous.org.zwobble.mammoth.@internal.util {
throw new PassThroughException(exception);
}
}
+
+ internal static T unwrap<T>(SupplierWithException<T, IOException> supplier) {
+ try {
+ return supplier.get();
+ } catch (PassThroughException exception) {
+ throw exception._exception;
+ }
+ }
private readonly IOException _exception;
diff --git a/dotnet/Mammoth/Couscous/mammoth/internal/util/Sets.cs b/dotnet/Mammoth/Couscous/mammoth/internal/util/Sets.cs
index 7843537..bfce619 100644
--- a/dotnet/Mammoth/Couscous/mammoth/internal/util/Sets.cs
+++ b/dotnet/Mammoth/Couscous/mammoth/internal/util/Sets.cs
@@ -5,8 +5,7 @@ using System;
namespace Mammoth.Couscous.org.zwobble.mammoth.@internal.util
{
- internal static class Sets
- {
+ internal static class Sets {
internal static Set<T> set<T>(T[] values) {
return new HashSet<T>(new System.Collections.Generic.HashSet<T>(values));
}