Compare commits

..

2 Commits
1.4.1 ... 1.4.2

Author SHA1 Message Date
zznty
9a967345b9 skip obfuscated assemblies from compatibility fixes 2022-10-10 20:31:59 +07:00
zznty
98a4be655f fix plugins download 2022-10-10 20:31:10 +07:00
2 changed files with 21 additions and 5 deletions

View File

@@ -14,7 +14,7 @@ namespace Torch.API.WebAPI
public class PluginQuery public class PluginQuery
{ {
private const string ALL_QUERY = "https://torchapi.com/api/plugins/"; private const string ALL_QUERY = "https://torchapi.com/api/plugins/";
private const string PLUGIN_QUERY = "https://torchapi.com/api/plugins/?guid={0}"; private const string PLUGIN_QUERY = "https://torchapi.com/api/plugins/search/{0}";
private readonly HttpClient _client; private readonly HttpClient _client;
private static readonly Logger Log = LogManager.GetCurrentClassLogger(); private static readonly Logger Log = LogManager.GetCurrentClassLogger();

View File

@@ -1,14 +1,17 @@
using System.Collections.Generic; using System;
using System.Collections.Generic;
using System.IO; using System.IO;
using System.IO.Compression; using System.IO.Compression;
using System.Linq; using System.Linq;
using System.Reflection; using System.Reflection;
using Mono.Cecil; using Mono.Cecil;
using NLog;
namespace Torch.Plugins; namespace Torch.Plugins;
internal static class AssemblyRewriter internal static class AssemblyRewriter
{ {
private static readonly ILogger Log = LogManager.GetCurrentClassLogger();
private static readonly ZipResolver _zipResolver; private static readonly ZipResolver _zipResolver;
private static readonly DefaultAssemblyResolver _defaultResolver; private static readonly DefaultAssemblyResolver _defaultResolver;
@@ -23,12 +26,25 @@ internal static class AssemblyRewriter
public static Assembly ProcessWeavers(this Stream stream, ZipArchive archive) public static Assembly ProcessWeavers(this Stream stream, ZipArchive archive)
{ {
_zipResolver.Archive = archive; _zipResolver.Archive = archive;
using var assStream = new MemoryStream(); using var assStream = new MemoryStream();
stream.CopyTo(assStream); stream.CopyTo(assStream);
assStream.Position = 0; assStream.Position = 0;
var ass = ProcessInternal(assStream, _zipResolver);
_zipResolver.Archive = null; try
return ass; {
var ass = ProcessInternal(assStream, _zipResolver);
return ass;
}
catch (Exception e)
{
Log.Error(e, "Unable to process assembly, skipping");
return Assembly.Load(assStream.ToArray());
}
finally
{
_zipResolver.Archive = null;
}
} }
public static Assembly ProcessWeavers(this Stream stream, string path) public static Assembly ProcessWeavers(this Stream stream, string path)