diff options
author | vnugent <public@vaughnnugent.com> | 2023-09-25 00:17:31 -0400 |
---|---|---|
committer | vnugent <public@vaughnnugent.com> | 2023-09-25 00:17:31 -0400 |
commit | 3f2982f9b48dcef1a7434d396c45d57bb61d0a3c (patch) | |
tree | d53173c225459537ac719091c4e871ea5c4ccdd0 /lib/Plugins.Essentials.ServiceStack/src | |
parent | 73b8514f38f30fe6e0b3802c18a893b7a5713ca4 (diff) |
fall cleaning, native memory, rpmalloc updates, cmake+static libs and more service stack updates
Diffstat (limited to 'lib/Plugins.Essentials.ServiceStack/src')
-rw-r--r-- | lib/Plugins.Essentials.ServiceStack/src/Construction/HttpServiceStackBuilder.cs (renamed from lib/Plugins.Essentials.ServiceStack/src/HttpServiceStackBuilder.cs) | 8 | ||||
-rw-r--r-- | lib/Plugins.Essentials.ServiceStack/src/Construction/IAccountSecUpdateable.cs (renamed from lib/Plugins.Essentials.ServiceStack/src/IAccountSecUpdateable.cs) | 2 | ||||
-rw-r--r-- | lib/Plugins.Essentials.ServiceStack/src/Construction/IDomainBuilder.cs (renamed from lib/Plugins.Essentials.ServiceStack/src/IDomainBuilder.cs) | 2 | ||||
-rw-r--r-- | lib/Plugins.Essentials.ServiceStack/src/Construction/IVirtualHostBuilder.cs (renamed from lib/Plugins.Essentials.ServiceStack/src/IVirtualHostBuilder.cs) | 2 | ||||
-rw-r--r-- | lib/Plugins.Essentials.ServiceStack/src/Construction/IVirtualHostHooks.cs (renamed from lib/Plugins.Essentials.ServiceStack/src/IVirtualHostHooks.cs) | 2 | ||||
-rw-r--r-- | lib/Plugins.Essentials.ServiceStack/src/Construction/SsBuilderExtensions.cs (renamed from lib/Plugins.Essentials.ServiceStack/src/SsBuilderExtensions.cs) | 25 | ||||
-rw-r--r-- | lib/Plugins.Essentials.ServiceStack/src/Construction/VirtualHostConfiguration.cs (renamed from lib/Plugins.Essentials.ServiceStack/src/VirtualHostConfiguration.cs) | 6 | ||||
-rw-r--r-- | lib/Plugins.Essentials.ServiceStack/src/IHttpPluginManager.cs (renamed from lib/Plugins.Essentials.ServiceStack/src/IPluginController.cs) | 0 | ||||
-rw-r--r-- | lib/Plugins.Essentials.ServiceStack/src/VNLib.Plugins.Essentials.ServiceStack.csproj | 2 |
9 files changed, 31 insertions, 18 deletions
diff --git a/lib/Plugins.Essentials.ServiceStack/src/HttpServiceStackBuilder.cs b/lib/Plugins.Essentials.ServiceStack/src/Construction/HttpServiceStackBuilder.cs index d85d164..763eb26 100644 --- a/lib/Plugins.Essentials.ServiceStack/src/HttpServiceStackBuilder.cs +++ b/lib/Plugins.Essentials.ServiceStack/src/Construction/HttpServiceStackBuilder.cs @@ -30,7 +30,7 @@ using VNLib.Net.Http; using VNLib.Plugins.Runtime; -namespace VNLib.Plugins.Essentials.ServiceStack +namespace VNLib.Plugins.Essentials.ServiceStack.Construction { /// <summary> /// A data structure used to build/create a <see cref="HttpServiceStack"/> @@ -93,7 +93,7 @@ namespace VNLib.Plugins.Essentials.ServiceStack /// <returns>The current instance for chaining</returns> public HttpServiceStackBuilder WithBuiltInHttp(Func<ServiceGroup, ITransportProvider> transport, HttpConfig config) { - return WithHttp(sg => new HttpServer(config, transport(sg), sg.Hosts.Select(static p => p.Processor))); + return WithHttp(sg => new HttpServer(config, transport(sg), sg.Hosts.Select(static p => p.Processor))); } /// <summary> @@ -156,8 +156,8 @@ namespace VNLib.Plugins.Essentials.ServiceStack public void BuildStack() { } - - public void Dispose() + + public void Dispose() { } } } diff --git a/lib/Plugins.Essentials.ServiceStack/src/IAccountSecUpdateable.cs b/lib/Plugins.Essentials.ServiceStack/src/Construction/IAccountSecUpdateable.cs index 43c55ce..eee7a2e 100644 --- a/lib/Plugins.Essentials.ServiceStack/src/IAccountSecUpdateable.cs +++ b/lib/Plugins.Essentials.ServiceStack/src/Construction/IAccountSecUpdateable.cs @@ -25,7 +25,7 @@ using VNLib.Plugins.Essentials.Accounts; -namespace VNLib.Plugins.Essentials.ServiceStack +namespace VNLib.Plugins.Essentials.ServiceStack.Construction { /// <summary> /// Adds functionality to event processors to allow them to be updated diff --git a/lib/Plugins.Essentials.ServiceStack/src/IDomainBuilder.cs b/lib/Plugins.Essentials.ServiceStack/src/Construction/IDomainBuilder.cs index dc6dac5..19d2a96 100644 --- a/lib/Plugins.Essentials.ServiceStack/src/IDomainBuilder.cs +++ b/lib/Plugins.Essentials.ServiceStack/src/Construction/IDomainBuilder.cs @@ -26,7 +26,7 @@ using System.IO; using VNLib.Utils.Logging; -namespace VNLib.Plugins.Essentials.ServiceStack +namespace VNLib.Plugins.Essentials.ServiceStack.Construction { /// <summary> /// Allows for defining virtual hosts for the service stack diff --git a/lib/Plugins.Essentials.ServiceStack/src/IVirtualHostBuilder.cs b/lib/Plugins.Essentials.ServiceStack/src/Construction/IVirtualHostBuilder.cs index 8db3103..b2f3b1b 100644 --- a/lib/Plugins.Essentials.ServiceStack/src/IVirtualHostBuilder.cs +++ b/lib/Plugins.Essentials.ServiceStack/src/Construction/IVirtualHostBuilder.cs @@ -25,7 +25,7 @@ using System; -namespace VNLib.Plugins.Essentials.ServiceStack +namespace VNLib.Plugins.Essentials.ServiceStack.Construction { /// <summary> /// Allows for configuring a single virtual host diff --git a/lib/Plugins.Essentials.ServiceStack/src/IVirtualHostHooks.cs b/lib/Plugins.Essentials.ServiceStack/src/Construction/IVirtualHostHooks.cs index e2d5382..6691d6b 100644 --- a/lib/Plugins.Essentials.ServiceStack/src/IVirtualHostHooks.cs +++ b/lib/Plugins.Essentials.ServiceStack/src/Construction/IVirtualHostHooks.cs @@ -27,7 +27,7 @@ using System.Threading.Tasks; using VNLib.Net.Http; -namespace VNLib.Plugins.Essentials.ServiceStack +namespace VNLib.Plugins.Essentials.ServiceStack.Construction { /// <summary> /// Represents a type that will handle http events for a virtual host diff --git a/lib/Plugins.Essentials.ServiceStack/src/SsBuilderExtensions.cs b/lib/Plugins.Essentials.ServiceStack/src/Construction/SsBuilderExtensions.cs index b6c21fb..d518218 100644 --- a/lib/Plugins.Essentials.ServiceStack/src/SsBuilderExtensions.cs +++ b/lib/Plugins.Essentials.ServiceStack/src/Construction/SsBuilderExtensions.cs @@ -37,8 +37,7 @@ using VNLib.Plugins.Essentials.Content; using VNLib.Plugins.Essentials.Sessions; using VNLib.Plugins.Essentials.Middleware; - -namespace VNLib.Plugins.Essentials.ServiceStack +namespace VNLib.Plugins.Essentials.ServiceStack.Construction { /// <summary> @@ -53,7 +52,7 @@ namespace VNLib.Plugins.Essentials.ServiceStack /// </summary> /// <param name="stack"></param> /// <returns>The <see cref="IDomainBuilder"/> used to define your service domain</returns> - public static IDomainBuilder WithDomain(this HttpServiceStackBuilder stack) => WithDomain(stack, p => new BasicVirtualHost(p.Clone())); + public static IDomainBuilder WithDomain(this HttpServiceStackBuilder stack) => stack.WithDomain(p => new BasicVirtualHost(p.Clone())); /// <summary> /// Creates a new <see cref="IDomainBuilder"/> instance to define your @@ -79,7 +78,7 @@ namespace VNLib.Plugins.Essentials.ServiceStack public static IDomainBuilder WithDomain<T>(this HttpServiceStackBuilder stack, Func<VirtualHostConfiguration, T> callback) where T : EventProcessor, IAccountSecUpdateable { List<VirtualHostConfiguration> configs = new(); - DomainBuilder domains = new (configs, stack); + DomainBuilder domains = new(configs, stack); //Add callback to capture this collection of configs when built stack.AddHosts(() => configs.Select(c => new CustomServiceHost<T>(c.Clone(), callback(c))).ToArray()); @@ -99,6 +98,19 @@ namespace VNLib.Plugins.Essentials.ServiceStack return vhBuilder; } + /// <summary> + /// Adds multiple <see cref="IHttpMiddleware"/> instances to the virtual host + /// </summary> + /// <param name="vhBuilder"></param> + /// <param name="middleware">The array of middleware instances to add to the collection</param> + /// <returns></returns> + public static IVirtualHostBuilder WithMiddleware(this IVirtualHostBuilder vhBuilder, params IHttpMiddleware[] middleware) + { + vhBuilder.WithOption(c => Array.ForEach(middleware, m => c.CustomMiddleware.Add(m))); + return vhBuilder; + } + + public static IVirtualHostBuilder WithLogger(this IVirtualHostBuilder vhBuilder, ILogProvider logger) { vhBuilder.WithOption(c => c.LogProvider = logger); @@ -169,6 +181,7 @@ namespace VNLib.Plugins.Essentials.ServiceStack return vhBuilder; } + private static void AddHosts(this HttpServiceStackBuilder stack, Func<IServiceHost[]> hosts) => stack.WithDomain(p => Array.ForEach(hosts(), h => p.Add(h))); private static void OnPluginServiceEvent<T>(this IManagedPlugin plugin, Action<T> loader) @@ -226,7 +239,7 @@ namespace VNLib.Plugins.Essentials.ServiceStack this.Instance = Instance; //Add middleware to the chain - foreach(IHttpMiddleware mw in Config.CustomMiddleware) + foreach (IHttpMiddleware mw in Config.CustomMiddleware) { Instance.MiddlewareChain.AddLast(mw); } @@ -268,7 +281,7 @@ namespace VNLib.Plugins.Essentials.ServiceStack plugin.OnPluginServiceEvent<IHttpMiddleware[]>(p => Array.ForEach(p, mw => Instance.MiddlewareChain.RemoveMiddleware(mw))); } } - + private sealed class BasicVirtualHost : EventProcessor, IAccountSecUpdateable { diff --git a/lib/Plugins.Essentials.ServiceStack/src/VirtualHostConfiguration.cs b/lib/Plugins.Essentials.ServiceStack/src/Construction/VirtualHostConfiguration.cs index 4734a5a..97ad905 100644 --- a/lib/Plugins.Essentials.ServiceStack/src/VirtualHostConfiguration.cs +++ b/lib/Plugins.Essentials.ServiceStack/src/Construction/VirtualHostConfiguration.cs @@ -31,7 +31,7 @@ using System.Security.Cryptography.X509Certificates; using VNLib.Utils.Logging; using VNLib.Plugins.Essentials.Middleware; -namespace VNLib.Plugins.Essentials.ServiceStack +namespace VNLib.Plugins.Essentials.ServiceStack.Construction { /// <summary> /// A virtual host configuration container @@ -82,7 +82,7 @@ namespace VNLib.Plugins.Essentials.ServiceStack /// File attributes that must be matched for the file to be accessed, defaults to all allowed /// <para> Default: 0xFFFFFFFF</para> /// </summary> - public FileAttributes AllowedAttributes { get; set; } = unchecked((FileAttributes)(0xFFFFFFFF)); + public FileAttributes AllowedAttributes { get; set; } = unchecked((FileAttributes)0xFFFFFFFF); /// <summary> /// Files that match any attribute flag set will be denied @@ -94,7 +94,7 @@ namespace VNLib.Plugins.Essentials.ServiceStack /// A table of known downstream servers/ports that can be trusted to proxy connections /// <para>Default: empty set</para> /// </summary> - public IReadOnlySet<IPAddress> DownStreamServers { get; set; } = new HashSet<IPAddress>(); + public IReadOnlySet<IPAddress> DownStreamServers { get; set; } = new HashSet<IPAddress>(); /// <summary> /// A <see cref="TimeSpan"/> for how long a connection may remain open before all operations are cancelled diff --git a/lib/Plugins.Essentials.ServiceStack/src/IPluginController.cs b/lib/Plugins.Essentials.ServiceStack/src/IHttpPluginManager.cs index 6cece1f..6cece1f 100644 --- a/lib/Plugins.Essentials.ServiceStack/src/IPluginController.cs +++ b/lib/Plugins.Essentials.ServiceStack/src/IHttpPluginManager.cs diff --git a/lib/Plugins.Essentials.ServiceStack/src/VNLib.Plugins.Essentials.ServiceStack.csproj b/lib/Plugins.Essentials.ServiceStack/src/VNLib.Plugins.Essentials.ServiceStack.csproj index b3ba43a..afc4774 100644 --- a/lib/Plugins.Essentials.ServiceStack/src/VNLib.Plugins.Essentials.ServiceStack.csproj +++ b/lib/Plugins.Essentials.ServiceStack/src/VNLib.Plugins.Essentials.ServiceStack.csproj @@ -37,7 +37,7 @@ <Pack>True</Pack> <PackagePath>\</PackagePath> </None> - <None Include="..\LICENSE.txt"> + <None Include="..\LICENSE"> <Pack>True</Pack> <PackagePath>\</PackagePath> </None> |