aboutsummaryrefslogtreecommitdiff
path: root/lib/Plugins.Essentials.ServiceStack/src
diff options
context:
space:
mode:
authorLibravatar vnugent <public@vaughnnugent.com>2023-09-25 00:17:31 -0400
committerLibravatar vnugent <public@vaughnnugent.com>2023-09-25 00:17:31 -0400
commit3f2982f9b48dcef1a7434d396c45d57bb61d0a3c (patch)
treed53173c225459537ac719091c4e871ea5c4ccdd0 /lib/Plugins.Essentials.ServiceStack/src
parent73b8514f38f30fe6e0b3802c18a893b7a5713ca4 (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.csproj2
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>