diff --git a/IpfsHttpClient.sln b/IpfsHttpClient.sln index 2112e1b..87fe1ca 100644 --- a/IpfsHttpClient.sln +++ b/IpfsHttpClient.sln @@ -1,7 +1,7 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 15 -VisualStudioVersion = 15.0.26730.16 +# Visual Studio Version 17 +VisualStudioVersion = 17.1.32421.90 MinimumVisualStudioVersion = 10.0.40219.1 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{6B9AA9C7-5E90-4D10-9DDE-A2AA5FE3ECA6}" ProjectSection(SolutionItems) = preProject @@ -11,8 +11,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution README.md = README.md EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Documentation", "doc\Documentation.csproj", "{F3A32EA9-0B2F-46A3-B47A-33B4C04BD423}" -EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IpfsHttpClient", "src\IpfsHttpClient.csproj", "{F3C81C57-C283-4E07-B765-DEABCFB22136}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IpfsHttpClientTests", "test\IpfsHttpClientTests.csproj", "{B459FBC7-4A28-4170-AD83-7348A403407F}" @@ -23,8 +21,6 @@ Global Release|Any CPU = Release|Any CPU EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {F3A32EA9-0B2F-46A3-B47A-33B4C04BD423}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {F3A32EA9-0B2F-46A3-B47A-33B4C04BD423}.Release|Any CPU.ActiveCfg = Release|Any CPU {F3C81C57-C283-4E07-B765-DEABCFB22136}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {F3C81C57-C283-4E07-B765-DEABCFB22136}.Debug|Any CPU.Build.0 = Debug|Any CPU {F3C81C57-C283-4E07-B765-DEABCFB22136}.Release|Any CPU.ActiveCfg = Release|Any CPU diff --git a/src/Block.cs b/src/Block.cs index 4ad47b1..a4cec47 100644 --- a/src/Block.cs +++ b/src/Block.cs @@ -1,10 +1,5 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; +using System.IO; using System.Runtime.Serialization; -using System.Text; -using System.Threading.Tasks; namespace Ipfs.Http { @@ -48,7 +43,7 @@ public long Size size = value; } } - + } } diff --git a/src/CoreApi/BitswapApi.cs b/src/CoreApi/BitswapApi.cs index fe5d81f..dc3af6c 100644 --- a/src/CoreApi/BitswapApi.cs +++ b/src/CoreApi/BitswapApi.cs @@ -1,18 +1,12 @@ -using Newtonsoft.Json; +using Ipfs.CoreApi; using Newtonsoft.Json.Linq; -using System; using System.Collections.Generic; using System.Linq; -using System.Net.Http; -using System.Text; using System.Threading; using System.Threading.Tasks; -using Ipfs.CoreApi; -using System.IO; namespace Ipfs.Http { - class BitswapApi : IBitswapApi { IpfsClient ipfs; @@ -33,7 +27,7 @@ internal BitswapApi(IpfsClient ipfs) var keys = (JArray)(JObject.Parse(json)["Keys"]); // https://github.com/ipfs/go-ipfs/issues/5077 return keys - .Select(k => + .Select(k => { if (k.Type == JTokenType.String) return Cid.Decode(k.ToString()); diff --git a/src/CoreApi/BlockApi.cs b/src/CoreApi/BlockApi.cs index 061ba71..7b1eb0b 100644 --- a/src/CoreApi/BlockApi.cs +++ b/src/CoreApi/BlockApi.cs @@ -1,18 +1,13 @@ -using Newtonsoft.Json; +using Ipfs.CoreApi; using Newtonsoft.Json.Linq; -using System; using System.Collections.Generic; -using System.Linq; +using System.IO; using System.Net.Http; -using System.Text; using System.Threading; using System.Threading.Tasks; -using Ipfs.CoreApi; -using System.IO; namespace Ipfs.Http { - class BlockApi : IBlockApi { IpfsClient ipfs; @@ -41,7 +36,7 @@ public async Task PutAsync( CancellationToken cancel = default(CancellationToken)) { var options = new List(); - if (multiHash != MultiHash.DefaultAlgorithmName || + if (multiHash != MultiHash.DefaultAlgorithmName || contentType != Cid.DefaultContentType || encoding != MultiBase.DefaultAlgorithmName) { diff --git a/src/CoreApi/BlockRepositoryApi.cs b/src/CoreApi/BlockRepositoryApi.cs index ca8a257..2fa8803 100644 --- a/src/CoreApi/BlockRepositoryApi.cs +++ b/src/CoreApi/BlockRepositoryApi.cs @@ -1,18 +1,10 @@ -using Newtonsoft.Json; +using Ipfs.CoreApi; using Newtonsoft.Json.Linq; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Net.Http; -using System.Text; using System.Threading; using System.Threading.Tasks; -using Ipfs.CoreApi; -using System.IO; namespace Ipfs.Http { - class BlockRepositoryApi : IBlockRepositoryApi { IpfsClient ipfs; diff --git a/src/CoreApi/BootstrapApi.cs b/src/CoreApi/BootstrapApi.cs index fc2d8ea..fea4bea 100644 --- a/src/CoreApi/BootstrapApi.cs +++ b/src/CoreApi/BootstrapApi.cs @@ -1,18 +1,12 @@ -using Newtonsoft.Json; +using Ipfs.CoreApi; using Newtonsoft.Json.Linq; -using System; using System.Collections.Generic; using System.Linq; -using System.Net.Http; -using System.Text; using System.Threading; using System.Threading.Tasks; -using Ipfs.CoreApi; -using System.IO; namespace Ipfs.Http { - class BootstrapApi : IBootstrapApi { IpfsClient ipfs; diff --git a/src/CoreApi/ConfigApi.cs b/src/CoreApi/ConfigApi.cs index 1dbe0b1..60da13f 100644 --- a/src/CoreApi/ConfigApi.cs +++ b/src/CoreApi/ConfigApi.cs @@ -1,16 +1,12 @@ -using Newtonsoft.Json; +using Ipfs.CoreApi; +using Newtonsoft.Json; using Newtonsoft.Json.Linq; -using System; -using System.Collections.Generic; -using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; -using Ipfs.CoreApi; namespace Ipfs.Http { - class ConfigApi : IConfigApi { IpfsClient ipfs; diff --git a/src/CoreApi/DagApi.cs b/src/CoreApi/DagApi.cs index 6c2480a..6561c95 100644 --- a/src/CoreApi/DagApi.cs +++ b/src/CoreApi/DagApi.cs @@ -1,29 +1,23 @@ -using Common.Logging; +using Ipfs.CoreApi; using Newtonsoft.Json; using Newtonsoft.Json.Linq; -using System; -using System.Collections.Generic; +using System.Globalization; using System.IO; -using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; -using Ipfs.CoreApi; -using System.Globalization; namespace Ipfs.Http { - class DagApi : IDagApi { - IpfsClient ipfs; + private IpfsClient ipfs; internal DagApi(IpfsClient ipfs) { this.ipfs = ipfs; } - public async Task PutAsync( JObject data, string contentType = "dag-cbor", @@ -49,11 +43,11 @@ public async Task PutAsync( } public async Task PutAsync( - object data, + object data, string contentType = "dag-cbor", string multiHash = MultiHash.DefaultAlgorithmName, string encoding = MultiBase.DefaultAlgorithmName, - bool pin = true, + bool pin = true, CancellationToken cancel = default(CancellationToken)) { using (var ms = new MemoryStream( @@ -83,7 +77,7 @@ public async Task PutAsync( } public async Task GetAsync( - Cid id, + Cid id, CancellationToken cancel = default(CancellationToken)) { var json = await ipfs.DoCommandAsync("dag/get", cancel, id); @@ -92,7 +86,7 @@ public async Task GetAsync( public async Task GetAsync( - string path, + string path, CancellationToken cancel = default(CancellationToken)) { var json = await ipfs.DoCommandAsync("dag/get", cancel, path); diff --git a/src/CoreApi/DhtApi.cs b/src/CoreApi/DhtApi.cs index 9945b31..689e5ed 100644 --- a/src/CoreApi/DhtApi.cs +++ b/src/CoreApi/DhtApi.cs @@ -1,23 +1,18 @@ using Common.Logging; -using Newtonsoft.Json; +using Ipfs.CoreApi; using Newtonsoft.Json.Linq; using System; using System.Collections.Generic; using System.IO; -using System.Linq; -using System.Text; using System.Threading; using System.Threading.Tasks; -using Ipfs.CoreApi; namespace Ipfs.Http { - class DhtApi : IDhtApi { - static ILog log = LogManager.GetLogger(); - - IpfsClient ipfs; + private static ILog log = LogManager.GetLogger(); + private IpfsClient ipfs; internal DhtApi(IpfsClient ipfs) { @@ -57,7 +52,7 @@ internal DhtApi(IpfsClient ipfs) } IEnumerable ProviderFromStream(Stream stream, int limit = int.MaxValue) - { + { using (var sr = new StreamReader(stream)) { var n = 0; @@ -91,8 +86,8 @@ IEnumerable ProviderFromStream(Stream stream, int limit = int.MaxValue) } } } - } - } + } + } } } diff --git a/src/CoreApi/DnsApi.cs b/src/CoreApi/DnsApi.cs index fb7fe75..bcc7c08 100644 --- a/src/CoreApi/DnsApi.cs +++ b/src/CoreApi/DnsApi.cs @@ -1,21 +1,13 @@ -using Newtonsoft.Json; +using Ipfs.CoreApi; using Newtonsoft.Json.Linq; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Net.Http; -using System.Text; using System.Threading; using System.Threading.Tasks; -using Ipfs.CoreApi; -using System.IO; namespace Ipfs.Http { - class DnsApi : IDnsApi { - IpfsClient ipfs; + private IpfsClient ipfs; internal DnsApi(IpfsClient ipfs) { diff --git a/src/CoreApi/FileSystemApi.cs b/src/CoreApi/FileSystemApi.cs index 65e4ce9..ff21e41 100644 --- a/src/CoreApi/FileSystemApi.cs +++ b/src/CoreApi/FileSystemApi.cs @@ -1,4 +1,5 @@ using Common.Logging; +using Ipfs.CoreApi; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using System; @@ -8,17 +9,14 @@ using System.Text; using System.Threading; using System.Threading.Tasks; -using Ipfs.CoreApi; namespace Ipfs.Http { - class FileSystemApi : IFileSystemApi { - static ILog log = LogManager.GetLogger(); - - IpfsClient ipfs; - Lazy emptyFolder; + private static ILog log = LogManager.GetLogger(); + private IpfsClient ipfs; + private Lazy emptyFolder; internal FileSystemApi(IpfsClient ipfs) { @@ -209,7 +207,7 @@ internal FileSystemApi(IpfsClient ipfs) if (length == 0) length = int.MaxValue; // go-ipfs only accepts int lengths - return ipfs.DownloadAsync("cat", cancel, path, + return ipfs.DownloadAsync("cat", cancel, path, $"offset={offset}", $"length={length}"); } diff --git a/src/CoreApi/GenericApi.cs b/src/CoreApi/GenericApi.cs index 0977aaa..b5c04ff 100644 --- a/src/CoreApi/GenericApi.cs +++ b/src/CoreApi/GenericApi.cs @@ -1,21 +1,17 @@ -using Newtonsoft.Json; +using Ipfs.CoreApi; +using Newtonsoft.Json.Linq; using System; using System.Collections.Generic; using System.Globalization; -using System.Linq; -using System.Text; using System.IO; -using System.Net; -using System.Threading.Tasks; using System.Threading; -using Ipfs.CoreApi; -using Newtonsoft.Json.Linq; +using System.Threading.Tasks; namespace Ipfs.Http { public partial class IpfsClient : IGenericApi { - const double TicksPerNanosecond = (double)TimeSpan.TicksPerMillisecond * 0.000001; + private const double TicksPerNanosecond = (double)TimeSpan.TicksPerMillisecond * 0.000001; /// public Task IdAsync(MultiHash peer = null, CancellationToken cancel = default(CancellationToken)) diff --git a/src/CoreApi/KeyApi.cs b/src/CoreApi/KeyApi.cs index b82c4e5..003fa04 100644 --- a/src/CoreApi/KeyApi.cs +++ b/src/CoreApi/KeyApi.cs @@ -1,18 +1,14 @@ -using Common.Logging; -using Newtonsoft.Json; +using Ipfs.CoreApi; using Newtonsoft.Json.Linq; using System; using System.Collections.Generic; -using System.IO; using System.Linq; -using System.Text; using System.Threading; using System.Threading.Tasks; -using Ipfs.CoreApi; namespace Ipfs.Http { - class KeyApi : IKeyApi + class KeyApi : IKeyApi { /// /// Information about a local key. @@ -41,9 +37,9 @@ internal KeyApi(IpfsClient ipfs) public async Task CreateAsync(string name, string keyType, int size, CancellationToken cancel = default(CancellationToken)) { - return await ipfs.DoCommandAsync("key/gen", cancel, - name, - $"type={keyType}", + return await ipfs.DoCommandAsync("key/gen", cancel, + name, + $"type={keyType}", $"size={size}"); } diff --git a/src/CoreApi/NameApi.cs b/src/CoreApi/NameApi.cs index 073c56a..94d595e 100644 --- a/src/CoreApi/NameApi.cs +++ b/src/CoreApi/NameApi.cs @@ -1,21 +1,14 @@ -using Newtonsoft.Json; +using Ipfs.CoreApi; using Newtonsoft.Json.Linq; using System; -using System.Collections.Generic; -using System.Linq; -using System.Net.Http; -using System.Text; using System.Threading; using System.Threading.Tasks; -using Ipfs.CoreApi; -using System.IO; namespace Ipfs.Http { - class NameApi : INameApi { - IpfsClient ipfs; + private IpfsClient ipfs; internal NameApi(IpfsClient ipfs) { diff --git a/src/CoreApi/ObjectApi.cs b/src/CoreApi/ObjectApi.cs index a05cb43..914062e 100644 --- a/src/CoreApi/ObjectApi.cs +++ b/src/CoreApi/ObjectApi.cs @@ -1,23 +1,19 @@ using Common.Logging; -using Newtonsoft.Json; +using Ipfs.CoreApi; using Newtonsoft.Json.Linq; -using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; -using Ipfs.CoreApi; namespace Ipfs.Http { - class ObjectApi : IObjectApi { - static ILog log = LogManager.GetLogger(); - - IpfsClient ipfs; + private static ILog log = LogManager.GetLogger(); + private IpfsClient ipfs; internal ObjectApi(IpfsClient ipfs) { @@ -32,7 +28,7 @@ internal ObjectApi(IpfsClient ipfs) public async Task NewAsync(string template = null, CancellationToken cancel = default(CancellationToken)) { var json = await ipfs.DoCommandAsync("object/new", cancel, template); - var hash = (string) (JObject.Parse(json)["Hash"]); + var hash = (string)(JObject.Parse(json)["Hash"]); return await GetAsync(hash); } diff --git a/src/CoreApi/PinApi.cs b/src/CoreApi/PinApi.cs index 43df3a1..7f3bf2c 100644 --- a/src/CoreApi/PinApi.cs +++ b/src/CoreApi/PinApi.cs @@ -1,19 +1,15 @@ -using Newtonsoft.Json; +using Ipfs.CoreApi; using Newtonsoft.Json.Linq; -using System; using System.Collections.Generic; using System.Linq; -using System.Text; using System.Threading; using System.Threading.Tasks; -using Ipfs.CoreApi; namespace Ipfs.Http { - class PinApi : IPinApi { - IpfsClient ipfs; + private IpfsClient ipfs; internal PinApi(IpfsClient ipfs) { diff --git a/src/CoreApi/PubSubApi.cs b/src/CoreApi/PubSubApi.cs index c41e111..cae6f1b 100644 --- a/src/CoreApi/PubSubApi.cs +++ b/src/CoreApi/PubSubApi.cs @@ -1,5 +1,5 @@ using Common.Logging; -using Newtonsoft.Json; +using Ipfs.CoreApi; using Newtonsoft.Json.Linq; using System; using System.Collections.Generic; @@ -8,16 +8,13 @@ using System.Text; using System.Threading; using System.Threading.Tasks; -using Ipfs.CoreApi; namespace Ipfs.Http { - class PubSubApi : IPubSubApi { - static ILog log = LogManager.GetLogger(); - - IpfsClient ipfs; + private static ILog log = LogManager.GetLogger(); + private IpfsClient ipfs; internal PubSubApi(IpfsClient ipfs) { @@ -39,7 +36,7 @@ internal PubSubApi(IpfsClient ipfs) var result = JObject.Parse(json); var strings = result["Strings"] as JArray; if (strings == null) return new Peer[0]; - return strings.Select(s => new Peer { Id = (string)s } ); + return strings.Select(s => new Peer { Id = (string)s }); } public Task PublishAsync(string topic, byte[] message, CancellationToken cancel = default(CancellationToken)) @@ -84,7 +81,7 @@ public async Task SubscribeAsync(string topic, Action handler void ProcessMessages(string topic, Action handler, StreamReader sr, CancellationToken ct) { log.DebugFormat("Start listening for '{0}' messages", topic); - + // .Net needs a ReadLine(CancellationToken) // As a work-around, we register a function to close the stream ct.Register(() => sr.Dispose()); diff --git a/src/CoreApi/StatsApi.cs b/src/CoreApi/StatsApi.cs index 222143e..1082730 100644 --- a/src/CoreApi/StatsApi.cs +++ b/src/CoreApi/StatsApi.cs @@ -1,21 +1,15 @@ -using Common.Logging; -using Newtonsoft.Json; +using Ipfs.CoreApi; using Newtonsoft.Json.Linq; -using System; -using System.Collections.Generic; -using System.IO; using System.Linq; -using System.Text; using System.Threading; using System.Threading.Tasks; -using Ipfs.CoreApi; namespace Ipfs.Http { class StatApi : IStatsApi { - IpfsClient ipfs; + private IpfsClient ipfs; internal StatApi(IpfsClient ipfs) { diff --git a/src/CoreApi/SwarmApi.cs b/src/CoreApi/SwarmApi.cs index cb50727..fc83326 100644 --- a/src/CoreApi/SwarmApi.cs +++ b/src/CoreApi/SwarmApi.cs @@ -1,21 +1,16 @@ -using Common.Logging; -using Newtonsoft.Json; +using Ipfs.CoreApi; using Newtonsoft.Json.Linq; using System; using System.Collections.Generic; -using System.IO; using System.Linq; -using System.Text; using System.Threading; using System.Threading.Tasks; -using Ipfs.CoreApi; namespace Ipfs.Http { - class SwarmApi : ISwarmApi { - IpfsClient ipfs; + private IpfsClient ipfs; internal SwarmApi(IpfsClient ipfs) { @@ -27,12 +22,13 @@ internal SwarmApi(IpfsClient ipfs) var json = await ipfs.DoCommandAsync("swarm/addrs", cancel); return ((JObject)JObject.Parse(json)["Addrs"]) .Properties() - .Select(p => new Peer { + .Select(p => new Peer + { Id = p.Name, Addresses = ((JArray)p.Value) .Select(a => MultiAddress.TryCreate((string)a)) .Where(ma => ma != null) - }); + }); } public async Task> PeersAsync(CancellationToken cancel = default(CancellationToken)) @@ -68,9 +64,9 @@ internal SwarmApi(IpfsClient ipfs) ConnectedAddress = new MultiAddress((string)p["Addr"] + "/ipfs/" + (string)p["Peer"]), Latency = Duration.Parse((string)p["Latency"]) }); - } - - // Hmmm. Another change we can handle + } + + // Hmmm. Another change we can handle throw new FormatException("Unknown response from 'swarm/peers"); } diff --git a/src/FileSystemLink.cs b/src/FileSystemLink.cs index 446180f..3315569 100644 --- a/src/FileSystemLink.cs +++ b/src/FileSystemLink.cs @@ -1,5 +1,4 @@ - -namespace Ipfs.Http +namespace Ipfs.Http { /// /// A link to another file system node in IPFS. diff --git a/src/FileSystemNode.cs b/src/FileSystemNode.cs index 0e00449..07bd148 100644 --- a/src/FileSystemNode.cs +++ b/src/FileSystemNode.cs @@ -1,10 +1,6 @@ -using System; -using System.Collections.Generic; +using System.Collections.Generic; using System.IO; -using System.Linq; using System.Runtime.Serialization; -using System.Text; -using System.Threading.Tasks; namespace Ipfs.Http { @@ -51,7 +47,8 @@ public Stream DataStream /// [DataMember] - public IEnumerable Links { + public IEnumerable Links + { get { if (links == null) GetInfo(); @@ -114,7 +111,7 @@ public bool IsDirectory /// public IFileSystemLink ToLink(string name = "") { - var link = new FileSystemLink + var link = new FileSystemLink { Name = string.IsNullOrWhiteSpace(name) ? Name : name, Id = Id, diff --git a/src/IpfsClient.cs b/src/IpfsClient.cs index 0b8ce55..2d88b00 100644 --- a/src/IpfsClient.cs +++ b/src/IpfsClient.cs @@ -1,17 +1,15 @@ using Common.Logging; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Reflection; +using Ipfs.CoreApi; using Newtonsoft.Json; +using System; using System.IO; -using System.Net.Http; -using System.Threading.Tasks; using System.Net; +using System.Net.Http; using System.Net.Http.Headers; +using System.Reflection; +using System.Text; using System.Threading; -using Ipfs.CoreApi; +using System.Threading.Tasks; namespace Ipfs.Http { @@ -45,7 +43,7 @@ public partial class IpfsClient : ICoreApi /// The environment variable "IpfsHttpApi" overrides this value. /// public static Uri DefaultApiUri = new Uri( - Environment.GetEnvironmentVariable("IpfsHttpApi") + Environment.GetEnvironmentVariable("IpfsHttpApi") ?? "http://localhost:5001"); /// @@ -95,7 +93,7 @@ public IpfsClient(string host) { ApiUri = new Uri(host); } - + /// /// The URL to the IPFS API server. The default is "http://localhost:5001". /// diff --git a/src/IpfsHttpClient.csproj b/src/IpfsHttpClient.csproj index 6501f2f..2e79469 100644 --- a/src/IpfsHttpClient.csproj +++ b/src/IpfsHttpClient.csproj @@ -1,7 +1,7 @@  - netstandard14;netstandard2;net45 + netstandard2 Ipfs.Http.Client Ipfs.Http bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml @@ -14,16 +14,16 @@ Ipfs.Http.Client - Richard Schneider + IPFS HTTP Client Provides .Net client access to the InterPlanetary File System. false - https://github.com/richardschneider/net-ipfs-http-client/releases - © 2015-2019 Richard Schneider + https://github.com/ipfs-shipyard/net-ipfs-http-client/releases + ipfs peer-to-peer distributed file-system True - https://github.com/richardschneider/net-ipfs-http-client - https://raw.githubusercontent.com/richardschneider/net-ipfs-core/master/doc/images/ipfs-cs-logo-64x64.png + https://github.com/ipfs-shipyard/net-ipfs-http-client + https://raw.githubusercontent.com/ipfs-shipyard/net-ipfs-core/master/doc/images/ipfs-cs-logo-64x64.png diff --git a/src/MerkleNode.cs b/src/MerkleNode.cs index 52d68f6..33332e1 100644 --- a/src/MerkleNode.cs +++ b/src/MerkleNode.cs @@ -1,8 +1,5 @@ using System; using System.Collections.Generic; -using System.Linq; -using System.Text; -using Newtonsoft.Json.Linq; using System.IO; using System.Runtime.Serialization; diff --git a/src/PublishedMessage.cs b/src/PublishedMessage.cs index b14c6de..c0f945f 100644 --- a/src/PublishedMessage.cs +++ b/src/PublishedMessage.cs @@ -1,10 +1,10 @@ using Newtonsoft.Json.Linq; using System; using System.Collections.Generic; -using System.Linq; using System.IO; -using System.Text; +using System.Linq; using System.Runtime.Serialization; +using System.Text; namespace Ipfs.Http { @@ -30,7 +30,7 @@ public PublishedMessage(string json) this.Sender = Convert.FromBase64String((string)o["from"]).ToBase58(); this.SequenceNumber = Convert.FromBase64String((string)o["seqno"]); this.DataBytes = Convert.FromBase64String((string)o["data"]); - var topics = (JArray) (o["topicIDs"]); + var topics = (JArray)(o["topicIDs"]); this.Topics = topics.Select(t => (string)t); } @@ -63,7 +63,7 @@ public Stream DataStream [DataMember] public long Size { - get { return DataBytes.Length; } + get { return DataBytes.Length; } } /// /// Contents as a string. diff --git a/src/TrustedPeerCollection.cs b/src/TrustedPeerCollection.cs index f058786..61e6e88 100644 --- a/src/TrustedPeerCollection.cs +++ b/src/TrustedPeerCollection.cs @@ -1,11 +1,7 @@ -using Newtonsoft.Json; -using System; +using System; using System.Collections; using System.Collections.Generic; using System.Linq; -using System.Text; -using System.IO; -using System.Net; using System.Threading; namespace Ipfs.Http @@ -121,7 +117,7 @@ public bool Remove(MultiAddress peer) public IEnumerator GetEnumerator() { Fetch(); - return ((IEnumerable) peers).GetEnumerator(); + return ((IEnumerable)peers).GetEnumerator(); } /// diff --git a/test/BlockTest.cs b/test/BlockTest.cs index 29e7019..8db34c8 100644 --- a/test/BlockTest.cs +++ b/test/BlockTest.cs @@ -1,15 +1,11 @@ -using Ipfs.Http; -using Microsoft.VisualStudio.TestTools.UnitTesting; -using System; -using System.Linq; +using Microsoft.VisualStudio.TestTools.UnitTesting; namespace Ipfs.Http { - [TestClass] public class BlockTest { - byte[] someBytes = new byte[] { 1, 2, 3 }; + private byte[] someBytes = new byte[] { 1, 2, 3 }; [TestMethod] public void DataBytes() diff --git a/test/CoreApi/BitswapApiTest.cs b/test/CoreApi/BitswapApiTest.cs index 0bcbeef..1561aaa 100644 --- a/test/CoreApi/BitswapApiTest.cs +++ b/test/CoreApi/BitswapApiTest.cs @@ -8,11 +8,10 @@ namespace Ipfs.Http { - [TestClass] public class BitswapApiTest { - IpfsClient ipfs = TestFixture.Ipfs; + private IpfsClient ipfs = TestFixture.Ipfs; [TestMethod] public async Task Wants() diff --git a/test/CoreApi/BlockApiTest.cs b/test/CoreApi/BlockApiTest.cs index 3b7b074..5f5c232 100644 --- a/test/CoreApi/BlockApiTest.cs +++ b/test/CoreApi/BlockApiTest.cs @@ -8,13 +8,12 @@ namespace Ipfs.Http { - [TestClass] public class BlockApiTest { - IpfsClient ipfs = TestFixture.Ipfs; - string id = "QmPv52ekjS75L4JmHpXVeuJ5uX2ecSfSZo88NSyxwA3rAQ"; - byte[] blob = Encoding.UTF8.GetBytes("blorb"); + private IpfsClient ipfs = TestFixture.Ipfs; + private string id = "QmPv52ekjS75L4JmHpXVeuJ5uX2ecSfSZo88NSyxwA3rAQ"; + private byte[] blob = Encoding.UTF8.GetBytes("blorb"); [TestMethod] public void Put_Bytes() diff --git a/test/CoreApi/BlockRepositoryTest.cs b/test/CoreApi/BlockRepositoryTest.cs index 569e3da..b28bb1d 100644 --- a/test/CoreApi/BlockRepositoryTest.cs +++ b/test/CoreApi/BlockRepositoryTest.cs @@ -1,17 +1,11 @@ using Microsoft.VisualStudio.TestTools.UnitTesting; -using Newtonsoft.Json.Linq; -using System; -using System.Linq; -using System.Text; using System.Threading.Tasks; namespace Ipfs.Http { - [TestClass] public class BlockRepositoryTest { - [TestMethod] public async Task Stats() { diff --git a/test/CoreApi/BootstrapTest.cs b/test/CoreApi/BootstrapTest.cs index d57b3d4..702a801 100644 --- a/test/CoreApi/BootstrapTest.cs +++ b/test/CoreApi/BootstrapTest.cs @@ -1,14 +1,9 @@ -using Ipfs.Http; -using Microsoft.VisualStudio.TestTools.UnitTesting; -using System; -using System.IO; +using Microsoft.VisualStudio.TestTools.UnitTesting; using System.Linq; -using System.Text; using System.Threading.Tasks; namespace Ipfs.Http { - [TestClass] public class BootstapApiTest { diff --git a/test/CoreApi/CancellationTest.cs b/test/CoreApi/CancellationTest.cs index f799a54..7c33a24 100644 --- a/test/CoreApi/CancellationTest.cs +++ b/test/CoreApi/CancellationTest.cs @@ -1,8 +1,4 @@ -using System; -using Microsoft.VisualStudio.TestTools.UnitTesting; -using Newtonsoft.Json.Linq; -using System.Linq; -using System.Text; +using Microsoft.VisualStudio.TestTools.UnitTesting; using System.Threading; using System.Threading.Tasks; diff --git a/test/CoreApi/ConfigApiTest.cs b/test/CoreApi/ConfigApiTest.cs index fd43d88..0fb20c6 100644 --- a/test/CoreApi/ConfigApiTest.cs +++ b/test/CoreApi/ConfigApiTest.cs @@ -1,18 +1,15 @@ -using Ipfs.Http; -using Microsoft.VisualStudio.TestTools.UnitTesting; +using Microsoft.VisualStudio.TestTools.UnitTesting; using Newtonsoft.Json.Linq; using System; -using System.Text; using System.Threading.Tasks; namespace Ipfs.Http { - [TestClass] public class ConfigApiTest { - const string apiAddress = "/ip4/127.0.0.1/tcp/"; - const string gatewayAddress = "/ip4/127.0.0.1/tcp/"; + private const string apiAddress = "/ip4/127.0.0.1/tcp/"; + private const string gatewayAddress = "/ip4/127.0.0.1/tcp/"; [TestMethod] public void Get_Entire_Config() diff --git a/test/CoreApi/DagApiTest.cs b/test/CoreApi/DagApiTest.cs index 36e1f02..817c217 100644 --- a/test/CoreApi/DagApiTest.cs +++ b/test/CoreApi/DagApiTest.cs @@ -1,7 +1,5 @@ using Microsoft.VisualStudio.TestTools.UnitTesting; using Newtonsoft.Json.Linq; -using System; -using System.Text; using System.Threading.Tasks; namespace Ipfs.Http @@ -12,6 +10,7 @@ public class DagApiTest class Name { public string First { get; set; } + public string Last { get; set; } } @@ -30,7 +29,7 @@ public async Task PutAndGet_JSON() Assert.IsNotNull(actual); Assert.AreEqual(expected["a"], actual["a"]); - var value = (string) await ipfs.Dag.GetAsync(expectedId + "/a"); + var value = (string)await ipfs.Dag.GetAsync(expectedId + "/a"); Assert.AreEqual(expected["a"], value); } diff --git a/test/CoreApi/DhtApiTest.cs b/test/CoreApi/DhtApiTest.cs index bcb433d..b9f44e0 100644 --- a/test/CoreApi/DhtApiTest.cs +++ b/test/CoreApi/DhtApiTest.cs @@ -1,18 +1,15 @@ using Microsoft.VisualStudio.TestTools.UnitTesting; -using Newtonsoft.Json.Linq; using System; using System.Linq; -using System.Text; using System.Threading; using System.Threading.Tasks; namespace Ipfs.Http { - [TestClass] public class DhtApiTest { - const string helloWorldID = "QmT78zSuBmuS4z925WZfrqQ1qHaJ56DQaTfyMUF7F8ff5o"; + private const string helloWorldID = "QmT78zSuBmuS4z925WZfrqQ1qHaJ56DQaTfyMUF7F8ff5o"; [TestMethod] public async Task FindPeer() diff --git a/test/CoreApi/DnsApiTest.cs b/test/CoreApi/DnsApiTest.cs index f4d4309..84d1681 100644 --- a/test/CoreApi/DnsApiTest.cs +++ b/test/CoreApi/DnsApiTest.cs @@ -1,19 +1,13 @@ -using Ipfs.Http; -using Microsoft.VisualStudio.TestTools.UnitTesting; -using Newtonsoft.Json.Linq; +using Microsoft.VisualStudio.TestTools.UnitTesting; using System; -using System.Linq; -using System.Text; using System.Threading; using System.Threading.Tasks; namespace Ipfs.Http { - [TestClass] public class DnsApiTest { - [TestMethod] public void Api_Exists() { @@ -50,6 +44,5 @@ public async Task Publish() await ipfs.Key.RemoveAsync(key.Name); } } - } } diff --git a/test/CoreApi/FileSystemApiTest.cs b/test/CoreApi/FileSystemApiTest.cs index 3b16b78..2e5ce65 100644 --- a/test/CoreApi/FileSystemApiTest.cs +++ b/test/CoreApi/FileSystemApiTest.cs @@ -1,5 +1,4 @@ -using Ipfs.Http; -using Ipfs.CoreApi; +using Ipfs.CoreApi; using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.IO; @@ -13,7 +12,6 @@ namespace Ipfs.Http [TestClass] public class FileSystemApiTest { - [TestMethod] public void AddText() { diff --git a/test/CoreApi/GenericApiTest.cs b/test/CoreApi/GenericApiTest.cs index c54c573..d731d5c 100644 --- a/test/CoreApi/GenericApiTest.cs +++ b/test/CoreApi/GenericApiTest.cs @@ -1,7 +1,5 @@ using Microsoft.VisualStudio.TestTools.UnitTesting; using System.Linq; -using System; -using System.Text; using System.Threading.Tasks; namespace Ipfs.Http diff --git a/test/CoreApi/KeyApiTest.cs b/test/CoreApi/KeyApiTest.cs index 00ea9ed..d01706d 100644 --- a/test/CoreApi/KeyApiTest.cs +++ b/test/CoreApi/KeyApiTest.cs @@ -1,19 +1,13 @@ -using Ipfs.Http; -using Microsoft.VisualStudio.TestTools.UnitTesting; -using Newtonsoft.Json.Linq; +using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Linq; -using System.Text; -using System.Threading; using System.Threading.Tasks; namespace Ipfs.Http { - [TestClass] public class KeyApiTest { - [TestMethod] public void Api_Exists() { diff --git a/test/CoreApi/NameApiTest.cs b/test/CoreApi/NameApiTest.cs index 9a0a0a9..fcf1eac 100644 --- a/test/CoreApi/NameApiTest.cs +++ b/test/CoreApi/NameApiTest.cs @@ -1,19 +1,13 @@ -using Ipfs.Http; -using Microsoft.VisualStudio.TestTools.UnitTesting; -using Newtonsoft.Json.Linq; +using Microsoft.VisualStudio.TestTools.UnitTesting; using System; -using System.Linq; -using System.Text; using System.Threading; using System.Threading.Tasks; namespace Ipfs.Http { - [TestClass] public class NameApiTest { - [TestMethod] public void Api_Exists() { diff --git a/test/CoreApi/ObjectApiTest.cs b/test/CoreApi/ObjectApiTest.cs index bcf6808..122251a 100644 --- a/test/CoreApi/ObjectApiTest.cs +++ b/test/CoreApi/ObjectApiTest.cs @@ -1,7 +1,4 @@ -using Ipfs.Http; -using Microsoft.VisualStudio.TestTools.UnitTesting; -using Newtonsoft.Json.Linq; -using System; +using Microsoft.VisualStudio.TestTools.UnitTesting; using System.Linq; using System.Text; using System.Threading; @@ -9,11 +6,10 @@ namespace Ipfs.Http { - [TestClass] public class ObjectApiTest { - IpfsClient ipfs = TestFixture.Ipfs; + private IpfsClient ipfs = TestFixture.Ipfs; [TestMethod] public async Task New_Template_Null() @@ -85,7 +81,7 @@ public async Task Links() var alpha = new DagNode(adata); var beta = await ipfs.Object.PutAsync(bdata, new[] { alpha.ToLink() }); var links = await ipfs.Object.LinksAsync(beta.Id); - Assert.AreEqual(beta.Links.Count(),links.Count()); + Assert.AreEqual(beta.Links.Count(), links.Count()); Assert.AreEqual(beta.Links.First().Id, links.First().Id); Assert.AreEqual(beta.Links.First().Name, links.First().Name); Assert.AreEqual(beta.Links.First().Size, links.First().Size); diff --git a/test/CoreApi/PinApiTest.cs b/test/CoreApi/PinApiTest.cs index 4362ed4..9d9aee5 100644 --- a/test/CoreApi/PinApiTest.cs +++ b/test/CoreApi/PinApiTest.cs @@ -1,14 +1,9 @@ -using Ipfs.Http; -using Microsoft.VisualStudio.TestTools.UnitTesting; -using Newtonsoft.Json.Linq; -using System; +using Microsoft.VisualStudio.TestTools.UnitTesting; using System.Linq; -using System.Text; using System.Threading.Tasks; namespace Ipfs.Http { - [TestClass] public class PinApiTest { diff --git a/test/CoreApi/PubSubApiTest.cs b/test/CoreApi/PubSubApiTest.cs index 1453f6d..9d94f9c 100644 --- a/test/CoreApi/PubSubApiTest.cs +++ b/test/CoreApi/PubSubApiTest.cs @@ -1,21 +1,16 @@ -using Ipfs.Http; -using Microsoft.VisualStudio.TestTools.UnitTesting; -using Newtonsoft.Json.Linq; +using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Collections.Generic; using System.IO; using System.Linq; -using System.Text; using System.Threading; using System.Threading.Tasks; namespace Ipfs.Http { - [TestClass] public class PubSubApiTest { - [TestMethod] public void Api_Exists() { @@ -93,7 +88,7 @@ await ipfs.PubSub.SubscribeAsync(topic, msg => { cs.Cancel(); } - } + } [TestMethod] public async Task Subscribe_Mutiple_Messages() @@ -131,7 +126,7 @@ public async Task Multiple_Subscribe_Mutiple_Messages() var ipfs = TestFixture.Ipfs; var topic = "net-ipfs-http-client-test-" + Guid.NewGuid().ToString(); var cs = new CancellationTokenSource(); - Action processMessage = (msg) => + Action processMessage = (msg) => { Interlocked.Increment(ref messageCount); }; diff --git a/test/CoreApi/StatsApiTest.cs b/test/CoreApi/StatsApiTest.cs index 61f7079..6d43a62 100644 --- a/test/CoreApi/StatsApiTest.cs +++ b/test/CoreApi/StatsApiTest.cs @@ -1,13 +1,8 @@ using Microsoft.VisualStudio.TestTools.UnitTesting; -using Newtonsoft.Json.Linq; -using System; -using System.Linq; -using System.Text; using System.Threading.Tasks; namespace Ipfs.Http { - [TestClass] public class StatsApiTest { @@ -20,6 +15,5 @@ public async Task SmokeTest() var bitswap = await ipfs.Stats.BitswapAsync(); var repository = await ipfs.Stats.RepositoryAsync(); } - } } diff --git a/test/CoreApi/SwarmApiTest.cs b/test/CoreApi/SwarmApiTest.cs index 7cc351b..42a19b3 100644 --- a/test/CoreApi/SwarmApiTest.cs +++ b/test/CoreApi/SwarmApiTest.cs @@ -1,17 +1,13 @@ using Microsoft.VisualStudio.TestTools.UnitTesting; -using Newtonsoft.Json.Linq; using System; using System.Linq; -using System.Text; using System.Threading.Tasks; namespace Ipfs.Http { - [TestClass] public class SwarmApiTest { - [TestMethod] public async Task Addresses() { diff --git a/test/ExceptionAssert.cs b/test/ExceptionAssert.cs index 46387a3..c34f370 100644 --- a/test/ExceptionAssert.cs +++ b/test/ExceptionAssert.cs @@ -1,6 +1,6 @@ -using System; +using Microsoft.VisualStudio.TestTools.UnitTesting; +using System; using System.Linq; -using Microsoft.VisualStudio.TestTools.UnitTesting; namespace Ipfs.Http { @@ -9,7 +9,6 @@ namespace Ipfs.Http /// public static class ExceptionAssert { - public static T Throws(Action action, string expectedMessage = null) where T : Exception { try @@ -44,6 +43,5 @@ public static Exception Throws(Action action, string expectedMessage = null) { return Throws(action, expectedMessage); } - } } diff --git a/test/FileSystemNodeTest.cs b/test/FileSystemNodeTest.cs index 7f9783c..29a414c 100644 --- a/test/FileSystemNodeTest.cs +++ b/test/FileSystemNodeTest.cs @@ -1,14 +1,10 @@ -using Ipfs.Http; -using Microsoft.VisualStudio.TestTools.UnitTesting; -using System; +using Microsoft.VisualStudio.TestTools.UnitTesting; +using Newtonsoft.Json; using System.Linq; -using System.IO; using System.Threading.Tasks; -using Newtonsoft.Json; namespace Ipfs.Http { - [TestClass] public class FileSystemNodeTest { diff --git a/test/IpfsClientTest.cs b/test/IpfsClientTest.cs index ec3d5ff..8e14ccc 100644 --- a/test/IpfsClientTest.cs +++ b/test/IpfsClientTest.cs @@ -1,12 +1,9 @@ -using Ipfs.Http; -using Microsoft.VisualStudio.TestTools.UnitTesting; -using System; +using Microsoft.VisualStudio.TestTools.UnitTesting; using System.Net.Http; using System.Threading; namespace Ipfs.Http { - /// ///This is a test class for IpfsClientTest and is intended ///to contain all IpfsClientTest Unit Tests diff --git a/test/IpfsHttpClientTests.csproj b/test/IpfsHttpClientTests.csproj index 246f550..5f7c576 100644 --- a/test/IpfsHttpClientTests.csproj +++ b/test/IpfsHttpClientTests.csproj @@ -1,7 +1,7 @@  - net45;netcoreapp1.1;netcoreapp2.0 + net6.0 false full diff --git a/test/MerkleNodeTest.cs b/test/MerkleNodeTest.cs index ec24f71..63d36b3 100644 --- a/test/MerkleNodeTest.cs +++ b/test/MerkleNodeTest.cs @@ -1,16 +1,14 @@ -using Ipfs.Http; -using Microsoft.VisualStudio.TestTools.UnitTesting; +using Microsoft.VisualStudio.TestTools.UnitTesting; using System; -using System.Linq; using System.IO; +using System.Linq; namespace Ipfs.Http { - [TestClass] public partial class MerkleNodeTest { - const string IpfsInfo = "QmVtU7ths96fMgZ8YSZAbKghyieq7AjxNdcqyVzxTt3qVe"; + private const string IpfsInfo = "QmVtU7ths96fMgZ8YSZAbKghyieq7AjxNdcqyVzxTt3qVe"; [TestMethod] public void HashWithNamespace() @@ -71,13 +69,13 @@ public void Value_Equality() var b = new MerkleNode("QmagNHT6twJRBZcGeviiGzHVTMbNnJZameLyL6T14GUHCS"); MerkleNode nullNode = null; - #pragma warning disable 1718 +#pragma warning disable 1718 Assert.IsTrue(a0 == a0); Assert.IsTrue(a0 == a1); Assert.IsFalse(a0 == b); Assert.IsFalse(a0 == null); - #pragma warning disable 1718 +#pragma warning disable 1718 Assert.IsFalse(a0 != a0); Assert.IsFalse(a0 != a1); Assert.IsTrue(a0 != b); diff --git a/test/PublishedMessageTest.cs b/test/PublishedMessageTest.cs index b2823ca..d59bfe6 100644 --- a/test/PublishedMessageTest.cs +++ b/test/PublishedMessageTest.cs @@ -1,21 +1,19 @@ -using Ipfs.Http; -using Microsoft.VisualStudio.TestTools.UnitTesting; +using Microsoft.VisualStudio.TestTools.UnitTesting; using System; -using System.Linq; using System.IO; +using System.Linq; namespace Ipfs.Http { - [TestClass] public partial class PublishedMessageTest { - const string json = @"{ - ""from"":""EiDzOYdzT4BE42JXwxVM8Q19w6tx30Bp2N3T7tOH/a2nCw=="", - ""data"":""aGVsbG8gd29ybGQ="", - ""seqno"":""FPBVj+oTUug="", - ""topicIDs"":[""net-ipfs-http-client-test""] -}"; + private const string json = @"{ + ""from"":""EiDzOYdzT4BE42JXwxVM8Q19w6tx30Bp2N3T7tOH/a2nCw=="", + ""data"":""aGVsbG8gd29ybGQ="", + ""seqno"":""FPBVj+oTUug="", + ""topicIDs"":[""net-ipfs-http-client-test""] + }"; [TestMethod] public void FromJson() @@ -37,7 +35,8 @@ public void FromJson() public void Id_NotSupported() { var msg = new PublishedMessage(json); - ExceptionAssert.Throws(() => { + ExceptionAssert.Throws(() => + { var _ = msg.Id; }); } diff --git a/test/TestFixture.cs b/test/TestFixture.cs index 5e08cf9..2f786d6 100644 --- a/test/TestFixture.cs +++ b/test/TestFixture.cs @@ -1,10 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace Ipfs.Http +namespace Ipfs.Http { public static class TestFixture { diff --git a/test/TrustedPeersTest.cs b/test/TrustedPeersTest.cs index 8247135..055ec25 100644 --- a/test/TrustedPeersTest.cs +++ b/test/TrustedPeersTest.cs @@ -1,14 +1,11 @@ -using Ipfs.Http; -using Microsoft.VisualStudio.TestTools.UnitTesting; -using System; +using Microsoft.VisualStudio.TestTools.UnitTesting; using System.Linq; namespace Ipfs.Http { - public partial class IpfsClientTest { - MultiAddress newTrustedPeer = new MultiAddress("/ip4/25.196.147.100/tcp/4001/ipfs/QmaMqSwWShsPg2RbredZtoneFjXhim7AQkqbLxib45Lx4S"); + private MultiAddress newTrustedPeer = new MultiAddress("/ip4/25.196.147.100/tcp/4001/ipfs/QmaMqSwWShsPg2RbredZtoneFjXhim7AQkqbLxib45Lx4S"); [TestMethod] public void Trusted_Peers_List()