diff options
| author | Michael Williamson <mike@zwobble.org> | 2016-04-17 18:57:29 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2016-04-17 18:58:12 +0100 |
| commit | 52140d52210eda0f25ecab9f89b5c73473e9d8e0 (patch) | |
| tree | cb383edb71e44b8ae7b2b0d0890f13574d1922f0 /dotnet/Mammoth/Couscous/mammoth/internal/util | |
| parent | 0f9ef005f063198ea2e16ca36beaead4bd5e3824 (diff) | |
Add CLI for .NET version
Diffstat (limited to 'dotnet/Mammoth/Couscous/mammoth/internal/util')
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)); } |
