diff --git a/NzbDrone.Api/Exceptions/InvalidApiKeyException.cs b/NzbDrone.Api/Exceptions/InvalidApiKeyException.cs new file mode 100644 index 000000000..c5ec235d7 --- /dev/null +++ b/NzbDrone.Api/Exceptions/InvalidApiKeyException.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace NzbDrone.Api.Exceptions +{ + public class InvalidApiKeyException : Exception + { + public InvalidApiKeyException() + { + } + + public InvalidApiKeyException(string message) : base(message) + { + } + } +} diff --git a/NzbDrone.Api/Filters/ValidApiRequestAttribute.cs b/NzbDrone.Api/Filters/ValidApiRequestAttribute.cs new file mode 100644 index 000000000..448c234df --- /dev/null +++ b/NzbDrone.Api/Filters/ValidApiRequestAttribute.cs @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using Ninject; +using NzbDrone.Api.Exceptions; +using NzbDrone.Api.RequestModels; +using NzbDrone.Core.Providers.Core; +using ServiceStack.ServiceHost; +using ServiceStack.ServiceInterface; + +namespace NzbDrone.Api.Filters +{ + public class ValidApiRequestAttribute : Attribute, IHasRequestFilter + { + public ApplyTo ApplyTo { get; set; } + public int Priority { get; set; } + + [Inject] + public ConfigProvider _configProvider; + + public void RequestFilter(IHttpRequest req, IHttpResponse res, object requestDto) + { + //Verify the API Key here + var apikey = ((IApiRequest)requestDto).ApiKey; + + if (String.IsNullOrWhiteSpace(apikey)) + throw new InvalidApiKeyException(); + } + + public IHasRequestFilter Copy() + { + return (IHasRequestFilter)this.MemberwiseClone(); + } + } +} diff --git a/NzbDrone.Api/NzbDrone.Api.csproj b/NzbDrone.Api/NzbDrone.Api.csproj new file mode 100644 index 000000000..25bcb872c --- /dev/null +++ b/NzbDrone.Api/NzbDrone.Api.csproj @@ -0,0 +1,121 @@ + + + + + Debug + AnyCPU + {FD286DF8-2D3A-4394-8AD5-443FADE55FB2} + Library + Properties + NzbDrone.Api + NzbDrone.Api + v4.0 + 512 + ..\ + true + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + true + bin\x86\Debug\ + DEBUG;TRACE + full + x86 + prompt + MinimumRecommendedRules.ruleset + + + bin\x86\Release\ + TRACE + true + pdbonly + x86 + prompt + MinimumRecommendedRules.ruleset + + + + False + ..\packages\Ninject.2.2.1.4\lib\net40-Full\Ninject.dll + + + ..\packages\ServiceStack.3.9.25\lib\net35\ServiceStack.dll + + + ..\packages\ServiceStack.Common.3.9.25\lib\net35\ServiceStack.Common.dll + + + ..\packages\ServiceStack.Common.3.9.25\lib\net35\ServiceStack.Interfaces.dll + + + ..\packages\ServiceStack.OrmLite.SqlServer.3.9.26\lib\ServiceStack.OrmLite.dll + + + ..\packages\ServiceStack.OrmLite.SqlServer.3.9.26\lib\ServiceStack.OrmLite.SqlServer.dll + + + ..\packages\ServiceStack.Redis.3.9.25\lib\net35\ServiceStack.Redis.dll + + + ..\packages\ServiceStack.3.9.25\lib\net35\ServiceStack.ServiceInterface.dll + + + ..\packages\ServiceStack.Text.3.9.27\lib\net35\ServiceStack.Text.dll + + + + + + + + + + + + + + + + + + + + + + + + + {f2be0fdf-6e47-4827-a420-dd4ef82407f8} + NzbDrone.Common + + + {ff5ee3b6-913b-47ce-9ceb-11c51b4e1205} + NzbDrone.Core + + + + + + \ No newline at end of file diff --git a/NzbDrone.Api/Properties/AssemblyInfo.cs b/NzbDrone.Api/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..5d17bb7bf --- /dev/null +++ b/NzbDrone.Api/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("NzbDrone.Api")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("NzbDrone.Api")] +[assembly: AssemblyCopyright("Copyright © 2012")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("4c0922d7-979e-4ff7-b44b-b8ac2100eeb5")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/NzbDrone.Api/RequestModels/IApiRequest.cs b/NzbDrone.Api/RequestModels/IApiRequest.cs new file mode 100644 index 000000000..e77a7fdfa --- /dev/null +++ b/NzbDrone.Api/RequestModels/IApiRequest.cs @@ -0,0 +1,9 @@ +using System.Linq; + +namespace NzbDrone.Api.RequestModels +{ + public interface IApiRequest + { + string ApiKey { get; set; } + } +} \ No newline at end of file diff --git a/NzbDrone.Api/RequestModels/QualityProfileRequest.cs b/NzbDrone.Api/RequestModels/QualityProfileRequest.cs new file mode 100644 index 000000000..9f6d9edf1 --- /dev/null +++ b/NzbDrone.Api/RequestModels/QualityProfileRequest.cs @@ -0,0 +1,10 @@ +using System.Linq; + +namespace NzbDrone.Api.RequestModels +{ + public class QualityProfileRequest : IApiRequest + { + public string ApiKey { get; set; } + public int Id { get; set; } + } +} \ No newline at end of file diff --git a/NzbDrone.Api/ResponseModels/IApiResponse.cs b/NzbDrone.Api/ResponseModels/IApiResponse.cs new file mode 100644 index 000000000..dcd310c40 --- /dev/null +++ b/NzbDrone.Api/ResponseModels/IApiResponse.cs @@ -0,0 +1,11 @@ +using System.Linq; +using ServiceStack.ServiceInterface.ServiceModel; + +namespace NzbDrone.Api.ResponseModels +{ + public interface IApiResponse : IHasResponseStatus + { + string Result { get; set; } + ResponseStatus ResponseStatus { get; set; } //Where Exceptions get auto-serialized + } +} \ No newline at end of file diff --git a/NzbDrone.Api/ResponseModels/QualityProfileResponse.cs b/NzbDrone.Api/ResponseModels/QualityProfileResponse.cs new file mode 100644 index 000000000..54443a99b --- /dev/null +++ b/NzbDrone.Api/ResponseModels/QualityProfileResponse.cs @@ -0,0 +1,12 @@ +using System.Linq; +using ServiceStack.ServiceInterface.ServiceModel; + +namespace NzbDrone.Api.ResponseModels +{ + public class QualityProfileResponse : IApiResponse + { + public string Result { get; set; } + ResponseStatus IApiResponse.ResponseStatus { get; set; } + ResponseStatus IHasResponseStatus.ResponseStatus { get; set; } + } +} \ No newline at end of file diff --git a/NzbDrone.Api/Services/QualityProfileService.cs b/NzbDrone.Api/Services/QualityProfileService.cs new file mode 100644 index 000000000..cee723b38 --- /dev/null +++ b/NzbDrone.Api/Services/QualityProfileService.cs @@ -0,0 +1,33 @@ +using System.Linq; +using NzbDrone.Api.Filters; +using NzbDrone.Api.RequestModels; +using NzbDrone.Api.ResponseModels; +using ServiceStack.ServiceInterface; + +namespace NzbDrone.Api.Services +{ + [ValidApiRequest] + public class QualityProfileService : RestServiceBase + { + public override object OnGet(QualityProfileRequest request) + { + return new QualityProfileResponse { Result = "Your API Key is: " + request.ApiKey }; + } + + //public override object OnPost(Todo todo) + //{ + // return Repository.Store(todo); + //} + + //public override object OnPut(Todo todo) + //{ + // return Repository.Store(todo); + //} + + //public override object OnDelete(Todo request) + //{ + // Repository.DeleteById(request.Id); + // return null; + //} + } +} \ No newline at end of file diff --git a/NzbDrone.Api/packages.config b/NzbDrone.Api/packages.config new file mode 100644 index 000000000..d89cad28f --- /dev/null +++ b/NzbDrone.Api/packages.config @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/NzbDrone.Web/App_Start/AppHost.cs b/NzbDrone.Web/App_Start/AppHost.cs new file mode 100644 index 000000000..d493c4ca0 --- /dev/null +++ b/NzbDrone.Web/App_Start/AppHost.cs @@ -0,0 +1,27 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Reflection; +using System.Web; +using Funq; +using NzbDrone.Api.RequestModels; +using NzbDrone.Api.Services; +using ServiceStack.WebHost.Endpoints; + +namespace NzbDrone.Web.App_Start +{ + public class AppHost : AppHostBase + { + public AppHost() //Tell ServiceStack the name and where to find your web services + : base("NzbDrone API", typeof(QualityProfileService).Assembly) { } + + public override void Configure(Container container) + { + SetConfig(new EndpointHostConfig { ServiceStackHandlerFactoryPath = "api" }); + + Routes + .Add("{ApiKey}/qualityprofiles") + .Add("{ApiKey}/qualityprofiles/{Id}"); + } + } +} \ No newline at end of file diff --git a/NzbDrone.Web/Global.asax.cs b/NzbDrone.Web/Global.asax.cs index f9ff29cf9..2a74ed653 100644 --- a/NzbDrone.Web/Global.asax.cs +++ b/NzbDrone.Web/Global.asax.cs @@ -13,6 +13,10 @@ using Ninject.Web.Mvc; using NLog; using NzbDrone.Common; using NzbDrone.Core; +using NzbDrone.Web.App_Start; +using ServiceStack.CacheAccess; +using ServiceStack.CacheAccess.Providers; +using ServiceStack.ServiceInterface; namespace NzbDrone.Web { @@ -22,10 +26,11 @@ namespace NzbDrone.Web public static void RegisterRoutes(RouteCollection routes) { + routes.IgnoreRoute("api/{*pathInfo}"); routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.IgnoreRoute("{*robotstxt}", new { robotstxt = @"(.*/)?robots.txt(/.*)?" }); routes.IgnoreRoute("{*favicon}", new { favicon = @"(.*/)?favicon.ico(/.*)?" }); - + routes.MapRouteLowercase( name: "WithSeasonNumber", url: "{controller}/{action}/{seriesId}/{seasonNumber}" @@ -50,6 +55,8 @@ namespace NzbDrone.Web RegisterGlobalFilters(GlobalFilters.Filters); + new AppHost().Init(); + Logger.Info("Fully initialized and ready."); } @@ -60,10 +67,14 @@ namespace NzbDrone.Web dispatch.DedicateToHost(); dispatch.Kernel.Load(Assembly.GetExecutingAssembly()); + + //ServiceStack + dispatch.Kernel.Bind().To().InSingletonScope(); + dispatch.Kernel.Bind().To().InSingletonScope(); + return dispatch.Kernel; } - public static void RegisterGlobalFilters(GlobalFilterCollection filters) { filters.Add(new HandleErrorAttribute()); diff --git a/NzbDrone.Web/NzbDrone.Web.csproj b/NzbDrone.Web/NzbDrone.Web.csproj index 5b4724237..9307d8ae1 100644 --- a/NzbDrone.Web/NzbDrone.Web.csproj +++ b/NzbDrone.Web/NzbDrone.Web.csproj @@ -88,8 +88,41 @@ ..\packages\NLog.2.0.0.2000\lib\net40\NLog.dll - - ..\packages\ServiceStack.Text.3.6.9\lib\net35\ServiceStack.Text.dll + + False + ..\packages\ServiceStack.3.9.25\lib\net35\ServiceStack.dll + + + False + ..\packages\ServiceStack.Common.3.9.25\lib\net35\ServiceStack.Common.dll + + + False + ..\packages\ServiceStack.Mvc.3.9.25\lib\net40\ServiceStack.FluentValidation.Mvc3.dll + + + False + ..\packages\ServiceStack.Common.3.9.25\lib\net35\ServiceStack.Interfaces.dll + + + False + ..\packages\ServiceStack.OrmLite.SqlServer.3.9.26\lib\ServiceStack.OrmLite.dll + + + False + ..\packages\ServiceStack.OrmLite.SqlServer.3.9.26\lib\ServiceStack.OrmLite.SqlServer.dll + + + False + ..\packages\ServiceStack.Redis.3.9.25\lib\net35\ServiceStack.Redis.dll + + + False + ..\packages\ServiceStack.3.9.25\lib\net35\ServiceStack.ServiceInterface.dll + + + False + ..\packages\ServiceStack.Text.3.9.27\lib\net35\ServiceStack.Text.dll ..\packages\SignalR.Server.0.4.0.0\lib\net40\SignalR.dll @@ -151,6 +184,7 @@ + @@ -422,6 +456,10 @@ + + {fd286df8-2d3a-4394-8ad5-443fade55fb2} + NzbDrone.Api + {F2BE0FDF-6E47-4827-A420-DD4EF82407F8} NzbDrone.Common diff --git a/NzbDrone.Web/Web.config b/NzbDrone.Web/Web.config index de19f89fd..fad847db9 100644 --- a/NzbDrone.Web/Web.config +++ b/NzbDrone.Web/Web.config @@ -29,14 +29,20 @@ + + + + + + diff --git a/NzbDrone.Web/packages.config b/NzbDrone.Web/packages.config index c75e7f8a8..5cf852a55 100644 --- a/NzbDrone.Web/packages.config +++ b/NzbDrone.Web/packages.config @@ -25,7 +25,12 @@ - + + + + + + diff --git a/NzbDrone.sln b/NzbDrone.sln index 9ef8e2c68..0d4eb5006 100644 --- a/NzbDrone.sln +++ b/NzbDrone.sln @@ -50,6 +50,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".nuget", ".nuget", "{1E6B3C .nuget\NuGet.targets = .nuget\NuGet.targets EndProjectSection EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NzbDrone.Api", "NzbDrone.Api\NzbDrone.Api.csproj", "{FD286DF8-2D3A-4394-8AD5-443FADE55FB2}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -468,6 +470,31 @@ Global {12261AE5-BCC4-4DC7-A218-0764B9C30230}.Services|Mixed Platforms.Build.0 = Release|Any CPU {12261AE5-BCC4-4DC7-A218-0764B9C30230}.Services|x64.ActiveCfg = Release|Any CPU {12261AE5-BCC4-4DC7-A218-0764B9C30230}.Services|x86.ActiveCfg = Release|Any CPU + {FD286DF8-2D3A-4394-8AD5-443FADE55FB2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {FD286DF8-2D3A-4394-8AD5-443FADE55FB2}.Debug|Any CPU.Build.0 = Debug|Any CPU + {FD286DF8-2D3A-4394-8AD5-443FADE55FB2}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {FD286DF8-2D3A-4394-8AD5-443FADE55FB2}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {FD286DF8-2D3A-4394-8AD5-443FADE55FB2}.Debug|x64.ActiveCfg = Debug|Any CPU + {FD286DF8-2D3A-4394-8AD5-443FADE55FB2}.Debug|x86.ActiveCfg = Debug|x86 + {FD286DF8-2D3A-4394-8AD5-443FADE55FB2}.Debug|x86.Build.0 = Debug|x86 + {FD286DF8-2D3A-4394-8AD5-443FADE55FB2}.Pilot|Any CPU.ActiveCfg = Release|Any CPU + {FD286DF8-2D3A-4394-8AD5-443FADE55FB2}.Pilot|Any CPU.Build.0 = Release|Any CPU + {FD286DF8-2D3A-4394-8AD5-443FADE55FB2}.Pilot|Mixed Platforms.ActiveCfg = Release|Any CPU + {FD286DF8-2D3A-4394-8AD5-443FADE55FB2}.Pilot|Mixed Platforms.Build.0 = Release|Any CPU + {FD286DF8-2D3A-4394-8AD5-443FADE55FB2}.Pilot|x64.ActiveCfg = Release|Any CPU + {FD286DF8-2D3A-4394-8AD5-443FADE55FB2}.Pilot|x86.ActiveCfg = Release|Any CPU + {FD286DF8-2D3A-4394-8AD5-443FADE55FB2}.Release|Any CPU.ActiveCfg = Release|Any CPU + {FD286DF8-2D3A-4394-8AD5-443FADE55FB2}.Release|Any CPU.Build.0 = Release|Any CPU + {FD286DF8-2D3A-4394-8AD5-443FADE55FB2}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {FD286DF8-2D3A-4394-8AD5-443FADE55FB2}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {FD286DF8-2D3A-4394-8AD5-443FADE55FB2}.Release|x64.ActiveCfg = Release|Any CPU + {FD286DF8-2D3A-4394-8AD5-443FADE55FB2}.Release|x86.ActiveCfg = Release|Any CPU + {FD286DF8-2D3A-4394-8AD5-443FADE55FB2}.Services|Any CPU.ActiveCfg = Release|Any CPU + {FD286DF8-2D3A-4394-8AD5-443FADE55FB2}.Services|Any CPU.Build.0 = Release|Any CPU + {FD286DF8-2D3A-4394-8AD5-443FADE55FB2}.Services|Mixed Platforms.ActiveCfg = Release|Any CPU + {FD286DF8-2D3A-4394-8AD5-443FADE55FB2}.Services|Mixed Platforms.Build.0 = Release|Any CPU + {FD286DF8-2D3A-4394-8AD5-443FADE55FB2}.Services|x64.ActiveCfg = Release|Any CPU + {FD286DF8-2D3A-4394-8AD5-443FADE55FB2}.Services|x86.ActiveCfg = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/packages/ServiceStack.3.9.25/ServiceStack.3.9.25.nupkg b/packages/ServiceStack.3.9.25/ServiceStack.3.9.25.nupkg new file mode 100644 index 000000000..fd7011b98 Binary files /dev/null and b/packages/ServiceStack.3.9.25/ServiceStack.3.9.25.nupkg differ diff --git a/packages/ServiceStack.3.9.25/ServiceStack.3.9.25.nuspec b/packages/ServiceStack.3.9.25/ServiceStack.3.9.25.nuspec new file mode 100644 index 000000000..a0e4551af --- /dev/null +++ b/packages/ServiceStack.3.9.25/ServiceStack.3.9.25.nuspec @@ -0,0 +1,27 @@ + + + + ServiceStack + 3.9.25 + ServiceStack webservice framework: Faster, Cleaner, Modern WCF alternative + Demis Bellot + Demis Bellot + https://github.com/ServiceStack/ServiceStack/blob/master/LICENSE + https://github.com/ServiceStack/ServiceStack + http://www.servicestack.net/logo-100x100.png + false + Binaries for the ServiceStack web framework. + Visit http://www.servicestack.net/ServiceStack.Hello/ + and https://github.com/ServiceStack/ServiceStack/wiki/Create-your-first-webservice + for walk throughs and docs on creating your first web service. + Opensource .NET and Mono REST Web Services framework + servicestack.net 2012 and contributors + en-US + Fast JSON XML CSV HTML SOAP JSV REST Web Service Framework MONO + + + + + + + \ No newline at end of file diff --git a/packages/ServiceStack.3.9.25/lib/net35/ServiceStack.ServiceInterface.dll b/packages/ServiceStack.3.9.25/lib/net35/ServiceStack.ServiceInterface.dll new file mode 100644 index 000000000..d5e7252fc Binary files /dev/null and b/packages/ServiceStack.3.9.25/lib/net35/ServiceStack.ServiceInterface.dll differ diff --git a/packages/ServiceStack.3.9.25/lib/net35/ServiceStack.dll b/packages/ServiceStack.3.9.25/lib/net35/ServiceStack.dll new file mode 100644 index 000000000..5ba098b3c Binary files /dev/null and b/packages/ServiceStack.3.9.25/lib/net35/ServiceStack.dll differ diff --git a/packages/ServiceStack.3.9.25/lib/net35/ServiceStack.xml b/packages/ServiceStack.3.9.25/lib/net35/ServiceStack.xml new file mode 100644 index 000000000..fc17c6127 --- /dev/null +++ b/packages/ServiceStack.3.9.25/lib/net35/ServiceStack.xml @@ -0,0 +1,3328 @@ + + + + ServiceStack + + + + + Used in Unit tests + + + + + + Ensure the same instance is used for subclasses + + + + + Called before page is executed + + + + + Called after page is executed but before it's merged with the + website template if any. + + + + + Don't HTML encode safe output + + + + + + + Return the output of a different view with the specified name + using the supplied model + + + + + + + + Resolve registered Assemblies + + + + + + Reference to MarkdownViewEngine + + + + + The AppHost so you can access configuration and resolve dependencies, etc. + + + + + This precompiled Markdown page with Metadata + + + + + ASP.NET MVC's HtmlHelper + + + + + All variables passed to and created by your page. + The Response DTO is stored and accessible via the 'Model' variable. + + All variables and outputs created are stored in ScopeArgs which is what's available + to your website template. The Generated page is stored in the 'Body' variable. + + + + + Whether HTML or Markdown output is requested + + + + + The Response DTO + + + + + If enabled, just returns the Request Info as it understands + + + + + + + For performance withPathInfoParts should already be a lower case string + to minimize redundant matching operations. + + + + + + + + The number of segments separated by '/' determinable by path.Split('/').Length + e.g. /path/to/here.ext == 3 + + + + + The total number of segments after subparts have been exploded ('.') + e.g. /path/to/here.ext == 4 + + + + + Provide for quick lookups based on hashes that can be determined from a request url + + + + + Removes items from cache that have keys matching the specified wildcard pattern + + Cache client + The wildcard, where "*" means any sequence of characters and "?" means any single character. + + + + Removes items from the cache based on the specified regular expression pattern + + Cache client + Regular expression pattern to search cache keys + + + + Applies the raw request filters. Returns whether or not the request has been handled + and no more processing should be done. + + + + + + Applies the request filters. Returns whether or not the request has been handled + and no more processing should be done. + + + + + + Applies the response filters. Returns whether or not the request has been handled + and no more processing should be done. + + + + + + Call to signal the completion of a ServiceStack-handled Request + + + + + The AppHost.Container. Note: it is not thread safe to register dependencies after AppStart. + + + + + Inherit from this class if you want to host your web services inside a + Console Application, Windows Service, etc. + + Usage of HttpListener allows you to host webservices on the same port (:80) as IIS + however it requires admin user privillages. + + + + + Wrapper class for the HTTPListener to allow easier access to the + server, for start and stop management and event routing of the actual + inbound requests. + + + + + ASP.NET or HttpListener ServiceStack host + + + + + Register dependency in AppHost IOC on Startup + + + + + + + AutoWired Registration of an interface with a concrete type in AppHost IOC on Startup. + + + + + + + Allows the clean up for executed autowired services and filters. + Calls directly after services and filters are executed. + + + + + + Called at the end of each request. Enables Request Scope. + + + + + Register an Adhoc web service on Startup + + + + + + + Apply plugins to this AppHost + + + + + + Create a service runner for IService actions + + + + + Register user-defined custom routes. + + + + + Register custom ContentType serializers + + + + + Add Request Filters, to be applied before the dto is deserialized + + + + + Add Request Filters + + + + + Add Response Filters + + + + + Add alternative HTML View Engines + + + + + Provide an exception handler for un-caught exceptions + + + + + Provide an exception handler for unhandled exceptions + + + + + Provide a catch-all handler that doesn't match any routes + + + + + Provide a custom model minder for a specific Request DTO + + + + + The AppHost config + + + + + List of pre-registered and user-defined plugins to be enabled in this AppHost + + + + + Virtual access to file resources + + + + + Starts the Web Service + + + A Uri that acts as the base that the server is listening on. + Format should be: http://127.0.0.1:8080/ or http://127.0.0.1:8080/somevirtual/ + Note: the trailing backslash is required! For more info see the + HttpListener.Prefixes property on MSDN. + + + + + Shut down the Web Service + + + + + Overridable method that can be used to implement a custom hnandler + + + + + TODO: plugin added with .Add method after host initialization won't be configured. Each plugin should have state so we can invoke Register method if host was already started. + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Looks up a localized string similar to Container service is built-in and read-only.. + + + + + Looks up a localized string similar to Service type {0} does not inherit or implement {1}.. + + + + + Looks up a localized string similar to Required dependency of type {0} named '{1}' could not be resolved.. + + + + + Looks up a localized string similar to Required dependency of type {0} could not be resolved.. + + + + + Looks up a localized string similar to Unknown scope.. + + + + + Understands how to route and respond to MiniProfiler UI urls. + + + + + Returns either includes' css/javascript or results' html. + + + + + Handles rendering static content files. + + + + + Handles rendering a previous MiniProfiler session, identified by its "?id=GUID" on the query. + + + + + Embedded resource contents keyed by filename. + + + + + Helper method that sets a proper 404 response code. + + + + + Try to keep everything static so we can easily be reused. + + + + + Fluent API for customizing the registration of a service. + + + + + Helper interface used to hide the base + members from the fluent API to make for much cleaner + Visual Studio intellisense experience. + + + + + + + + + + + + + + + + + Fluent API that exposes both + and owner (). + + + + + Fluent API that allows specifying the reuse instances. + + + + + Specifies how instances are reused within a container or hierarchy. Default + scope is . + + + + + Fluent API that allows specifying the owner of instances + created from a registration. + + + + + Specifies the owner of instances created from this registration. Default + owner is . + + + + + Fluent API for customizing the registration of a service. + + + + + Fluent API that allows registering an initializer for the + service. + + + + + Specifies an initializer that should be invoked after + the service instance has been created by the factory. + + + + + Changes the links for the servicestack/metadata page + + + + + + + Highly optimized code to find if GZIP is supported from: + - http://dotnetperls.com/gzip-request + + Other resources for GZip, deflate resources: + - http://www.west-wind.com/Weblog/posts/10564.aspx + - http://www.west-wind.com/WebLog/posts/102969.aspx + - ICSharpCode + + + + + when true, (most) bare plain URLs are auto-hyperlinked + WARNING: this is a significant deviation from the markdown spec + + + + + when true, RETURN becomes a literal newline + WARNING: this is a significant deviation from the markdown spec + + + + + use ">" for HTML output, or " />" for XHTML output + + + + + when true, problematic URL characters like [, ], (, and so forth will be encoded + WARNING: this is a significant deviation from the markdown spec + + + + + when false, email addresses will never be auto-linked + WARNING: this is a significant deviation from the markdown spec + + + + + when true, bold and italic require non-word characters on either side + WARNING: this is a significant deviation from the markdown spec + + + + + Markdown is a text-to-HTML conversion tool for web writers. + Markdown allows you to write using an easy-to-read, easy-to-write plain text format, + then convert it to structurally valid XHTML (or HTML). + + + + + Tabs are automatically converted to spaces as part of the transform + this constant determines how "wide" those tabs become in spaces + + + + + Create a new Markdown instance using default options + + + + + Create a new Markdown instance and optionally load options from a configuration + file. There they should be stored in the appSettings section, available options are: + + Markdown.StrictBoldItalic (true/false) + Markdown.EmptyElementSuffix (">" or " />" without the quotes) + Markdown.LinkEmails (true/false) + Markdown.AutoNewLines (true/false) + Markdown.AutoHyperlink (true/false) + Markdown.EncodeProblemUrlCharacters (true/false) + + + + + + Create a new Markdown instance and set the options from the MarkdownOptions object. + + + + + maximum nested depth of [] and () supported by the transform; implementation detail + + + + + In the static constuctor we'll initialize what stays the same across all transforms. + + + + + Transforms the provided Markdown-formatted text to HTML; + see http://en.wikipedia.org/wiki/Markdown + + + The order in which other subs are called here is + essential. Link and image substitutions need to happen before + EscapeSpecialChars(), so that any *'s or _'s in the a + and img tags get encoded. + + + + + Perform transformations that form block-level tags like paragraphs, headers, and list items. + + + + + Perform transformations that occur *within* block-level tags like paragraphs, headers, and list items. + + + + + splits on two or more newlines, to form "paragraphs"; + each paragraph is then unhashed (if it is a hash and unhashing isn't turned off) or wrapped in HTML p tag + + + + + Reusable pattern to match balanced [brackets]. See Friedl's + "Mastering Regular Expressions", 2nd Ed., pp. 328-331. + + + + + Reusable pattern to match balanced (parens). See Friedl's + "Mastering Regular Expressions", 2nd Ed., pp. 328-331. + + + + + Strips link definitions from text, stores the URLs and titles in hash references. + + + ^[id]: url "optional title" + + + + + derived pretty much verbatim from PHP Markdown + + + + + replaces any block-level HTML blocks with hash entries + + + + + returns an array of HTML tokens comprising the input string. Each token is + either a tag (possibly with nested, tags contained therein, such + as <a href="<MTFoo>">, or a run of text between tags. Each element of the + array is a two-element array; the first is either 'tag' or 'text'; the second is + the actual value. + + + + + Turn Markdown link shortcuts into HTML anchor tags + + + [link text](url "title") + [link text][id] + [id] + + + + + Turn Markdown image shortcuts into HTML img tags. + + + ![alt text][id] + ![alt text](url "optional title") + + + + + Turn Markdown headers into HTML header tags + + + Header 1 + ======== + + Header 2 + -------- + + # Header 1 + ## Header 2 + ## Header 2 with closing hashes ## + ... + ###### Header 6 + + + + + Turn Markdown horizontal rules into HTML hr tags + + + *** + * * * + --- + - - - + + + + + Turn Markdown lists into HTML ul and ol and li tags + + + + + Process the contents of a single ordered or unordered list, splitting it + into individual list items. + + + + + /// Turn Markdown 4-space indented code into HTML pre code blocks + + + + + Turn Markdown `code spans` into HTML code tags + + + + + Turn Markdown *italics* and **bold** into HTML strong and em tags + + + + + Turn markdown line breaks (two space at end of line) into HTML break tags + + + + + Turn Markdown > quoted blocks into HTML blockquote blocks + + + + + Turn angle-delimited URLs into HTML anchor tags + + + <http://www.example.com> + + + + + Remove one level of line-leading spaces + + + + + encodes email address randomly + roughly 10% raw, 45% hex, 45% dec + note that @ is always encoded and : never is + + + + + Encode/escape certain Markdown characters inside code blocks and spans where they are literals + + + + + Encode any ampersands (that aren't part of an HTML entity) and left or right angle brackets + + + + + Encodes any escaped characters such as \`, \*, \[ etc + + + + + swap back in all the special characters we've hidden + + + + + escapes Bold [ * ] and Italic [ _ ] characters + + + + + hex-encodes some unusual "problem" chars in URLs to avoid URL detection problems + + + + + Within tags -- meaning between < and > -- encode [\ ` * _] so they + don't conflict with their use in Markdown for code, italics and strong. + We're replacing each such character with its corresponding hash + value; this is likely overkill, but it should prevent us from colliding + with the escape values by accident. + + + + + convert all tabs to _tabWidth spaces; + standardizes line endings from DOS (CR LF) or Mac (CR) to UNIX (LF); + makes sure text ends with a couple of newlines; + removes any blank lines (only spaces) in the text + + + + + this is to emulate what's evailable in PHP + + + + + use ">" for HTML output, or " />" for XHTML output + + + + + when false, email addresses will never be auto-linked + WARNING: this is a significant deviation from the markdown spec + + + + + when true, bold and italic require non-word characters on either side + WARNING: this is a significant deviation from the markdown spec + + + + + when true, RETURN becomes a literal newline + WARNING: this is a significant deviation from the markdown spec + + + + + when true, (most) bare plain URLs are auto-hyperlinked + WARNING: this is a significant deviation from the markdown spec + + + + + when true, problematic URL characters like [, ], (, and so forth will be encoded + WARNING: this is a significant deviation from the markdown spec + + + + + current version of MarkdownSharp; + see http://code.google.com/p/markdownsharp/ for the latest code or to contribute + + + + + HttpContext based profiler provider. This is the default provider to use in a web context. + The current profiler is associated with a HttpContext.Current ensuring that profilers are + specific to a individual HttpRequest. + + + + + BaseProfilerProvider. This providers some helper methods which provide access to + internals not otherwise available. + To use, override the , and + methods. + + + + + A provider used to create instances and maintain the current instance. + + + + + Starts a new MiniProfiler and sets it to be current. By the end of this method + should return the new MiniProfiler. + + + + + Ends the current profiling session, if one exists. + + + When true, clears the for this HttpContext, allowing profiling to + be prematurely stopped and discarded. Useful for when a specific route does not need to be profiled. + + + + + Returns the current MiniProfiler. This is used by . + + + + + + Starts a new MiniProfiler and sets it to be current. By the end of this method + should return the new MiniProfiler. + + + + + Stops the current MiniProfiler (if any is currently running). + should be called if is false + + If true, any current results will be thrown away and nothing saved + + + + Returns the current MiniProfiler. This is used by . + + + + + + Sets to be active (read to start profiling) + This should be called once a new MiniProfiler has been created. + + The profiler to set to active + If is null + + + + Stops the profiler and marks it as inactive. + + The profiler to stop + True if successful, false if Stop had previously been called on this profiler + If is null + + + + Calls to save the current + profiler using the current storage settings + + + + + + Public constructor. This also registers any UI routes needed to display results + + + + + Starts a new MiniProfiler and associates it with the current . + + + + + Ends the current profiling session, if one exists. + + + When true, clears the for this HttpContext, allowing profiling to + be prematurely stopped and discarded. Useful for when a specific route does not need to be profiled. + + + + + Makes sure 'profiler' has a Name, pulling it from route data or url. + + + + + Returns the current profiler + + + + + + Gets the currently running MiniProfiler for the current HttpContext; null if no MiniProfiler was ed. + + + + + WebRequestProfilerProvider specific configurations + + + + + Provides user identification for a given profiling request. + + + + + An individual profiling step that can contain child steps. + + + + + Rebuilds all the parent timings on deserialization calls + + + + + Offset from parent MiniProfiler's creation that this Timing was created. + + + + + Creates a new Timing named 'name' in the 'profiler's session, with 'parent' as this Timing's immediate ancestor. + + + + + Obsolete - used for serialization. + + + + + Returns this Timing's Name. + + + + + Returns true if Ids match. + + + + + Returns hashcode of Id. + + + + + Adds arbitrary string 'value' under 'key', allowing custom properties to be stored in this Timing step. + + + + + Completes this Timing's duration and sets the MiniProfiler's Head up one level. + + + + + Add the parameter 'timing' to this Timing's Children collection. + + + Used outside this assembly for custom deserialization when creating an implementation. + + + + + Adds the parameter 'sqlTiming' to this Timing's SqlTimings collection. + + A sql statement profiling that was executed in this Timing step. + + Used outside this assembly for custom deserialization when creating an implementation. + + + + + Returns the number of sql statements of that were executed in this . + + + + + Unique identifer for this timing; set during construction. + + + + + Text displayed when this Timing is rendered. + + + + + How long this Timing step took in ms; includes any Timings' durations. + + + + + The offset from the start of profiling. + + + + + All sub-steps that occur within this Timing step. Add new children through + + + + + Stores arbitrary key/value strings on this Timing step. Add new tuples through . + + + + + Any queries that occurred during this Timing step. + + + + + Needed for database deserialization and JSON serialization. + + + + + Which Timing this Timing is under - the duration that this step takes will be added to its parent's duration. + + This will be null for the root (initial) Timing. + + + + Gets the elapsed milliseconds in this step without any children's durations. + + + + + Gets the aggregate elapsed milliseconds of all SqlTimings executed in this Timing, excluding Children Timings. + + + + + Returns true when this is less than the configured + , by default 2.0 ms. + + + + + Reference to the containing profiler, allowing this Timing to affect the Head and get Stopwatch readings. + + + + + Returns true when this Timing has inner Timing steps. + + + + + Returns true if this Timing step collected sql execution timings. + + + + + Returns true if any s executed in this step are detected as duplicate statements. + + + + + Returns true when this Timing is the first one created in a MiniProfiler session. + + + + + How far away this Timing is from the Profiler's Root. + + + + + How many sql data readers were executed in this Timing step. Does not include queries in any child Timings. + + + + + How many sql scalar queries were executed in this Timing step. Does not include queries in any child Timings. + + + + + How many sql non-query statements were executed in this Timing step. Does not include queries in any child Timings. + + + + + Wraps a database connection, allowing sql execution timings to be collected when a session is started. + + + + + This will be made private; use + + + + + This will be made private; use + + + + + Returns a new that wraps , + providing query execution profiling. If profiler is null, no profiling will occur. + + Your provider-specific flavor of connection, e.g. SqlConnection, OracleConnection + The currently started or null. + Determines whether the ProfiledDbConnection will dispose the underlying connection. + + + + The underlying, real database connection to your db provider. + + + + + The current profiler instance; could be null. + + + + + The raw connection this is wrapping + + + + + Ownership setting for the service. + + + + + Reuse scope setting for the service. + + + + + The container where the entry was registered. + + + + + Specifies the owner for instances, which determines how + they will be disposed. + + + + + Specifies the scope for instances, which determines + visibility of instances across containers and hierarchies. + + + + + The Func delegate that creates instances of the service. + + + + + The cached service instance if the scope is or + . + + + + + The Func delegate that initializes the object after creation. + + + + + Clones the service entry assigning the to the + . Does not copy the . + + + + + Sets a persistent cookie which never expires + + + + + Sets a session cookie which expires after the browser session closes + + + + + Sets a persistent cookie which expires after the given time + + + + + Sets a persistent cookie with an expiresAt date + + + + + Deletes a specified cookie by setting its value to empty and expiration to -1 days + + + + + Sets a persistent cookie which never expires + + + + + Sets a session cookie which expires after the browser session closes + + + + + Deletes a specified cookie by setting its value to empty and expiration to -1 days + + + + + Sets a persistent cookie which expires after the given time + + + + + Determines visibility and reuse of instances provided by the container. + + + + + Instances are reused within a container hierarchy. Instances + are created (if necessary) in the container where the registration + was performed, and are reused by all descendent containers. + + + + + Instances are reused only at the given container. Descendent + containers do not reuse parent container instances and get + a new instance at their level. + + + + + Each request to resolve the dependency will result in a new + instance being returned. + + + + + Instaces are reused within the given request + + + + + Default scope, which equals . + + + + * + Input: http://localhost:96/Cambia3/Temp/Test.aspx/path/info?q=item#fragment + + Some HttpRequest path and URL properties: + Request.ApplicationPath: /Cambia3 + Request.CurrentExecutionFilePath: /Cambia3/Temp/Test.aspx + Request.FilePath: /Cambia3/Temp/Test.aspx + Request.Path: /Cambia3/Temp/Test.aspx/path/info + Request.PathInfo: /path/info + Request.PhysicalApplicationPath: D:\Inetpub\wwwroot\CambiaWeb\Cambia3\ + Request.QueryString: /Cambia3/Temp/Test.aspx/path/info?query=arg + Request.Url.AbsolutePath: /Cambia3/Temp/Test.aspx/path/info + Request.Url.AbsoluteUri: http://localhost:96/Cambia3/Temp/Test.aspx/path/info?query=arg + Request.Url.Fragment: + Request.Url.Host: localhost + Request.Url.LocalPath: /Cambia3/Temp/Test.aspx/path/info + Request.Url.PathAndQuery: /Cambia3/Temp/Test.aspx/path/info?query=arg + Request.Url.Port: 96 + Request.Url.Query: ?query=arg + Request.Url.Scheme: http + Request.Url.Segments: / + Cambia3/ + Temp/ + Test.aspx/ + path/ + info + * + + + + Use this to treat Request.Items[] as a cache by returning pre-computed items to save + calculating them multiple times. + + + + + Store an entry in the IHttpRequest.Items Dictionary + + + + + Get an entry from the IHttpRequest.Items Dictionary + + + + + Profiles a single sql execution. + + + + + Creates a new SqlTiming to profile 'command'. + + + + + Obsolete - used for serialization. + + + + + Returns a snippet of the sql command and the duration. + + + + + Returns true if Ids match. + + + + + Returns hashcode of Id. + + + + + Called when command execution is finished to determine this SqlTiming's duration. + + + + + Called when database reader is closed, ending profiling for SqlTimings. + + + + + To help with display, put some space around sammiched commas + + + + + Unique identifier for this SqlTiming. + + + + + Category of sql statement executed. + + + + + The sql that was executed. + + + + + The command string with special formatting applied based on MiniProfiler.Settings.SqlFormatter + + + + + Roughly where in the calling code that this sql was executed. + + + + + Offset from main MiniProfiler start that this sql began. + + + + + How long this sql statement took to execute. + + + + + When executing readers, how long it took to come back initially from the database, + before all records are fetched and reader is closed. + + + + + Stores any parameter names and values used by the profiled DbCommand. + + + + + Id of the Timing this statement was executed in. + + + Needed for database deserialization. + + + + + The Timing step that this sql execution occurred in. + + + + + True when other identical sql statements have been executed during this MiniProfiler session. + + + + + A single MiniProfiler can be used to represent any number of steps/levels in a call-graph, via Step() + + Totally baller. + + + + A callback for ProfiledDbConnection and family + + + + + Called when a command starts executing + + + + + + + Called when a reader finishes executing + + + + + + + + Called when a reader is done iterating through the data + + + + + + Called when an error happens during execution of a command + + + + + + + + True if the profiler instance is active + + + + + Returns all currently open commands on this connection + + + + + Returns all results contained in all child steps. + + + + + Contains any sql statements that are executed, along with how many times those statements are executed. + + + + + Adds to the current . + + + + + Returns the number of sql statements of that were executed in all s. + + + + + Starts when this profiler is instantiated. Each step will use this Stopwatch's current ticks as + their starting time. + + + + + Creates and starts a new MiniProfiler for the root , filtering steps to . + + + + + Returns the 's and this profiler recorded. + + + + + Returns true if Ids match. + + + + + Returns hashcode of Id. + + + + + Obsolete - used for serialization. + + + + + Walks the hierarchy contained in this profiler, starting with , and returns each Timing found. + + + + + Returns milliseconds based on Stopwatch's Frequency. + + + + + Starts a new MiniProfiler based on the current . This new profiler can be accessed by + + + + + + Ends the current profiling session, if one exists. + + + When true, clears the for this HttpContext, allowing profiling to + be prematurely stopped and discarded. Useful for when a specific route does not need to be profiled. + + + + + Returns an that will time the code between its creation and disposal. Use this method when you + do not wish to include the MvcMiniProfiler namespace for the extension method. + + A descriptive name for the code that is encapsulated by the resulting IDisposable's lifetime. + This step's visibility level; allows filtering when is called. + + + + Returns the css and javascript includes needed to display the MiniProfiler results UI. + + Which side of the page the profiler popup button should be displayed on (defaults to left) + Whether to show trivial timings by default (defaults to false) + Whether to show time the time with children column by default (defaults to false) + The maximum number of trace popups to show before removing the oldest (defaults to 15) + xhtml rendering mode, ensure script tag is closed ... etc + when true, shows buttons to minimize and clear MiniProfiler results + Script and link elements normally; an empty string when there is no active profiling session. + + + + Renders the current to json. + + + + + Renders the parameter to json. + + + + + Deserializes the json string parameter to a . + + + + + Create a DEEP clone of this object + + + + + + Contains information about queries executed during this profiling session. + + + + + Milliseconds, to one decimal place, that this MiniProfiler was executing sql. + + + + + Returns true when we have profiled queries. + + + + + Returns true when any child Timings have duplicate queries. + + + + + How many sql data readers were executed in all steps. + + + + + How many sql scalar queries were executed in all steps. + + + + + How many sql non-query statements were executed in all steps. + + + + + Identifies this Profiler so it may be stored/cached. + + + + + A display name for this profiling session. + + + + + When this profiler was instantiated. + + + + + Where this profiler was run. + + + + + Allows filtering of steps based on what + the steps are created with. + + + + + The first that is created and started when this profiler is instantiated. + All other s will be children of this one. + + + + + A string identifying the user/client that is profiling this request. Set + with an -implementing class to provide a custom value. + + + If this is not set manually at some point, the implementation will be used; + by default, this will be the current request's ip address. + + + + + Returns true when this MiniProfiler has been viewed by the that recorded it. + + + Allows POSTs that result in a redirect to be profiled. implementation + will keep a list of all profilers that haven't been fetched down. + + + + + For unit testing, returns the timer. + + + + + Milliseconds, to one decimal place, that this MiniProfiler ran. + + + + + Returns true when or any of its are . + + + + + Returns true when all child s are . + + + + + Any Timing step with a duration less than or equal to this will be hidden by default in the UI; defaults to 2.0 ms. + + + + + Ticks since this MiniProfiler was started. + + + + + Points to the currently executing Timing. + + + + + Gets the currently running MiniProfiler for the current HttpContext; null if no MiniProfiler was ed. + + + + + Various configuration properties. + + + + + Excludes the specified assembly from the stack trace output. + + The short name of the assembly. AssemblyName.Name + + + + Excludes the specified type from the stack trace output. + + The System.Type name to exclude + + + + Excludes the specified method name from the stack trace output. + + The name of the method + + + + Make sure we can at least store profiler results to the http runtime cache. + + + + + Assemblies to exclude from the stack trace report. + + + + + Types to exclude from the stack trace report. + + + + + Methods to exclude from the stack trace report. + + + + + The max length of the stack string to report back; defaults to 120 chars. + + + + + Any Timing step with a duration less than or equal to this will be hidden by default in the UI; defaults to 2.0 ms. + + + + + Dictates if the "time with children" column is displayed by default, defaults to false. + For a per-page override you can use .RenderIncludes(showTimeWithChildren: true/false) + + + + + Dictates if trivial timings are displayed by default, defaults to false. + For a per-page override you can use .RenderIncludes(showTrivial: true/false) + + + + + Determines how many traces to show before removing the oldest; defaults to 15. + For a per-page override you can use .RenderIncludes(maxTracesToShow: 10) + + + + + Dictates on which side of the page the profiler popup button is displayed; defaults to left. + For a per-page override you can use .RenderIncludes(position: RenderPosition.Left/Right) + + + + + Determines if min-max, clear, etc are rendered; defaults to false. + For a per-page override you can use .RenderIncludes(showControls: true/false) + + + + + By default, SqlTimings will grab a stack trace to help locate where queries are being executed. + When this setting is true, no stack trace will be collected, possibly improving profiler performance. + + + + + When is called, if the current request url contains any items in this property, + no profiler will be instantiated and no results will be displayed. + Default value is { "/ss-", "/content/", "/scripts/", "/favicon.ico" }. + + + + + The path under which ALL routes are registered in, defaults to the application root. For example, "~/myDirectory/" would yield + "/myDirectory/ss-includes.js" rather than just "/mini-profiler-includes.js" + Any setting here should be in APP RELATIVE FORM, e.g. "~/myDirectory/" + + + + + Understands how to save and load MiniProfilers. Used for caching between when + a profiling session ends and results can be fetched to the client, and for showing shared, full-page results. + + + The normal profiling session life-cycle is as follows: + 1) request begins + 2) profiler is started + 3) normal page/controller/request execution + 4) profiler is stopped + 5) profiler is cached with 's implementation of + 6) request ends + 7) page is displayed and profiling results are ajax-fetched down, pulling cached results from + 's implementation of + + + + + The formatter applied to the SQL being rendered (used only for UI) + + + + + Provides user identification for a given profiling request. + + + + + Assembly version of this dank MiniProfiler. + + + + + The provider used to provider the current instance of a provider + This is also + + + + + A function that determines who can access the MiniProfiler results url. It should return true when + the request client has access, false for a 401 to be returned. HttpRequest parameter is the current request and + MiniProfiler parameter is the results that were profiled. + + + Both the HttpRequest and MiniProfiler parameters that will be passed into this function should never be null. + + + + + Allows switching out stopwatches for unit testing. + + + + + Gets part of a stack trace containing only methods we care about. + + + + + Gets the current formatted and filted stack trace. + + Space separated list of methods + + + + Funqlets are a set of components provided as a package + to an existing container (like a module). + + + + + Configure the given container with the + registrations provided by the funqlet. + + Container to register. + + + + Interface used by plugins to contribute registrations + to an existing container. + + + + + Returns the optimized result for the IRequestContext. + Does not use or store results in any cache. + + + + + + + + Overload for the method returning the most + optimized result based on the MimeType and CompressionType from the IRequestContext. + + + + + Overload for the method returning the most + optimized result based on the MimeType and CompressionType from the IRequestContext. + How long to cache for, null is no expiration + + + + + Clears all the serialized and compressed caches set + by the 'Resolve' method for the cacheKey provided + + + + + + + + Creates instance using straight Resolve approach. + This will throw an exception if resolution fails + + + + + Creates instance using the TryResolve approach if tryResolve = true. + Otherwise uses Resolve approach, which will throw an exception if resolution fails + + + + + Formats any SQL query with inline parameters, optionally including the value type + + + + + Takes a SqlTiming and returns a formatted SQL string, for parameter replacement, etc. + + + + + Return SQL the way you want it to look on the in the trace. Usually used to format parameters + + + Formatted SQL + + + + Creates a new Inline SQL Formatter, optionally including the parameter type info in comments beside the replaced value + + whether to include a comment after the value, indicating the type, e.g. /* @myParam DbType.Int32 */ + + + + Formats the SQL in a generic frieldly format, including the parameter type information in a comment if it was specified in the InlineFormatter constructor + + The SqlTiming to format + A formatted SQL string + + + + Returns a string representation of the parameter's value, including the type + + The parameter to get a value for + + + + + Identifies users based on ip address. + + + + + Provides functionality to identify which user is profiling a request. + + + + + Returns a string to identify the user profiling the current 'request'. + + The current HttpRequest being profiled. + + + + Returns the paramter HttpRequest's client ip address. + + + + + Main container class for components, supporting container hierarchies and + lifetime management of instances. + + + + + Initializes a new empty container. + + + + + Creates a child container of the current one, which exposes its + current service registration to the new child container. + + + + + Disposes the container and all instances owned by it (see + ), as well as all child containers + created through . + + + + + Registers a service instance with the container. This instance + will have and + behavior. + Service instance to use. + + + + Registers a named service instance with the container. This instance + will have and + behavior. + Name of the service to register.Service instance to use. + + + + Retrieves a function that can be used to lazily resolve an instance + of the service when needed. + Type of the service to retrieve.The function that can resolve to the service instance when invoked.The requested service has not been registered previously. + + + + + + + + + + + + + + + + + + + + + + Retrieves a function that can be used to lazily resolve an instance + of the service with the given name when needed. + Type of the service to retrieve.Name of the service to retrieve.The function that can resolve to the service instance with the given name when invoked.The requested service with the given name has not been registered previously. + + + + Retrieves a function that can be used to lazily resolve an instance + of the service of the given type, name and service constructor arguments when needed. + Name of the service to retrieve.The function that can resolve to the service instance with the given and service constructor arguments name when invoked.The requested service with the given name and constructor arguments has not been registered previously. + + + + Retrieves a function that can be used to lazily resolve an instance + of the service of the given type, name and service constructor arguments when needed. + Name of the service to retrieve.The function that can resolve to the service instance with the given and service constructor arguments name when invoked.The requested service with the given name and constructor arguments has not been registered previously. + + + + Retrieves a function that can be used to lazily resolve an instance + of the service of the given type, name and service constructor arguments when needed. + Name of the service to retrieve.The function that can resolve to the service instance with the given and service constructor arguments name when invoked.The requested service with the given name and constructor arguments has not been registered previously. + + + + Retrieves a function that can be used to lazily resolve an instance + of the service of the given type, name and service constructor arguments when needed. + Name of the service to retrieve.The function that can resolve to the service instance with the given and service constructor arguments name when invoked.The requested service with the given name and constructor arguments has not been registered previously. + + + + Retrieves a function that can be used to lazily resolve an instance + of the service of the given type, name and service constructor arguments when needed. + Name of the service to retrieve.The function that can resolve to the service instance with the given and service constructor arguments name when invoked.The requested service with the given name and constructor arguments has not been registered previously. + + + + Retrieves a function that can be used to lazily resolve an instance + of the service of the given type, name and service constructor arguments when needed. + Name of the service to retrieve.The function that can resolve to the service instance with the given and service constructor arguments name when invoked.The requested service with the given name and constructor arguments has not been registered previously. + + + + Registers the given service by providing a factory delegate to + instantiate it. + The service type to register.The factory delegate to initialize new instances of the service when needed.The registration object to perform further configuration via its fluent interface. + + + + Registers the given service by providing a factory delegate that receives arguments to + instantiate it. + The service type to register.First argument that should be passed to the factory delegate to create the instace.The factory delegate to initialize new instances of the service when needed.The registration object to perform further configuration via its fluent interface. + + + + Registers the given service by providing a factory delegate that receives arguments to + instantiate it. + The service type to register.First argument that should be passed to the factory delegate to create the instace.Second argument that should be passed to the factory delegate to create the instace.The factory delegate to initialize new instances of the service when needed.The registration object to perform further configuration via its fluent interface. + + + + Registers the given service by providing a factory delegate that receives arguments to + instantiate it. + The service type to register.First argument that should be passed to the factory delegate to create the instace.Second argument that should be passed to the factory delegate to create the instace.Third argument that should be passed to the factory delegate to create the instace.The factory delegate to initialize new instances of the service when needed.The registration object to perform further configuration via its fluent interface. + + + + Registers the given service by providing a factory delegate that receives arguments to + instantiate it. + The service type to register.First argument that should be passed to the factory delegate to create the instace.Second argument that should be passed to the factory delegate to create the instace.Third argument that should be passed to the factory delegate to create the instace.Fourth argument that should be passed to the factory delegate to create the instace.The factory delegate to initialize new instances of the service when needed.The registration object to perform further configuration via its fluent interface. + + + + Registers the given service by providing a factory delegate that receives arguments to + instantiate it. + The service type to register.First argument that should be passed to the factory delegate to create the instace.Second argument that should be passed to the factory delegate to create the instace.Third argument that should be passed to the factory delegate to create the instace.Fourth argument that should be passed to the factory delegate to create the instace.Fifth argument that should be passed to the factory delegate to create the instace.The factory delegate to initialize new instances of the service when needed.The registration object to perform further configuration via its fluent interface. + + + + Registers the given service by providing a factory delegate that receives arguments to + instantiate it. + The service type to register.First argument that should be passed to the factory delegate to create the instace.Second argument that should be passed to the factory delegate to create the instace.Third argument that should be passed to the factory delegate to create the instace.Fourth argument that should be passed to the factory delegate to create the instace.Fifth argument that should be passed to the factory delegate to create the instace.Sixth argument that should be passed to the factory delegate to create the instace.The factory delegate to initialize new instances of the service when needed.The registration object to perform further configuration via its fluent interface. + + + + Registers the given named service by providing a factory delegate to + instantiate it. + The service type to register.A name used to differenciate this service registration.The factory delegate to initialize new instances of the service when needed.The registration object to perform further configuration via its fluent interface. + + + + Registers the given named service by providing a factory delegate that receives arguments to + instantiate it. + The service type to register.First argument that should be passed to the factory delegate to create the instace.A name used to differenciate this service registration.The factory delegate to initialize new instances of the service when needed.The registration object to perform further configuration via its fluent interface. + + + + Registers the given named service by providing a factory delegate that receives arguments to + instantiate it. + The service type to register.First argument that should be passed to the factory delegate to create the instace.Second argument that should be passed to the factory delegate to create the instace.A name used to differenciate this service registration.The factory delegate to initialize new instances of the service when needed.The registration object to perform further configuration via its fluent interface. + + + + Registers the given named service by providing a factory delegate that receives arguments to + instantiate it. + The service type to register.First argument that should be passed to the factory delegate to create the instace.Second argument that should be passed to the factory delegate to create the instace.Third argument that should be passed to the factory delegate to create the instace.A name used to differenciate this service registration.The factory delegate to initialize new instances of the service when needed.The registration object to perform further configuration via its fluent interface. + + + + Registers the given named service by providing a factory delegate that receives arguments to + instantiate it. + The service type to register.First argument that should be passed to the factory delegate to create the instace.Second argument that should be passed to the factory delegate to create the instace.Third argument that should be passed to the factory delegate to create the instace.Fourth argument that should be passed to the factory delegate to create the instace.A name used to differenciate this service registration.The factory delegate to initialize new instances of the service when needed.The registration object to perform further configuration via its fluent interface. + + + + Registers the given named service by providing a factory delegate that receives arguments to + instantiate it. + The service type to register.First argument that should be passed to the factory delegate to create the instace.Second argument that should be passed to the factory delegate to create the instace.Third argument that should be passed to the factory delegate to create the instace.Fourth argument that should be passed to the factory delegate to create the instace.Fifth argument that should be passed to the factory delegate to create the instace.A name used to differenciate this service registration.The factory delegate to initialize new instances of the service when needed.The registration object to perform further configuration via its fluent interface. + + + + Registers the given named service by providing a factory delegate that receives arguments to + instantiate it. + The service type to register.First argument that should be passed to the factory delegate to create the instace.Second argument that should be passed to the factory delegate to create the instace.Third argument that should be passed to the factory delegate to create the instace.Fourth argument that should be passed to the factory delegate to create the instace.Fifth argument that should be passed to the factory delegate to create the instace.Sixth argument that should be passed to the factory delegate to create the instace.A name used to differenciate this service registration.The factory delegate to initialize new instances of the service when needed.The registration object to perform further configuration via its fluent interface. + + + + Resolves the given service by type, without passing any arguments for + its construction. + Type of the service to retrieve.The resolved service instance.The given service could not be resolved. + + + + Resolves the given service by type, passing the given arguments + for its initialization. + Type of the service to retrieve.First argument to pass to the factory delegate that may create the instace.The resolved service instance.The given service could not be resolved. + + + + Resolves the given service by type, passing the given arguments + for its initialization. + Type of the service to retrieve.First argument to pass to the factory delegate that may create the instace.Second argument to pass to the factory delegate that may create the instace.The resolved service instance.The given service could not be resolved. + + + + Resolves the given service by type, passing the given arguments + for its initialization. + Type of the service to retrieve.First argument to pass to the factory delegate that may create the instace.Second argument to pass to the factory delegate that may create the instace.Third argument to pass to the factory delegate that may create the instace.The resolved service instance.The given service could not be resolved. + + + + Resolves the given service by type, passing the given arguments + for its initialization. + Type of the service to retrieve.First argument to pass to the factory delegate that may create the instace.Second argument to pass to the factory delegate that may create the instace.Third argument to pass to the factory delegate that may create the instace.Fourth argument to pass to the factory delegate that may create the instace.The resolved service instance.The given service could not be resolved. + + + + Resolves the given service by type, passing the given arguments + for its initialization. + Type of the service to retrieve.First argument to pass to the factory delegate that may create the instace.Second argument to pass to the factory delegate that may create the instace.Third argument to pass to the factory delegate that may create the instace.Fourth argument to pass to the factory delegate that may create the instace.Fifth argument to pass to the factory delegate that may create the instace.The resolved service instance.The given service could not be resolved. + + + + Resolves the given service by type, passing the given arguments + for its initialization. + Type of the service to retrieve.First argument to pass to the factory delegate that may create the instace.Second argument to pass to the factory delegate that may create the instace.Third argument to pass to the factory delegate that may create the instace.Fourth argument to pass to the factory delegate that may create the instace.Fifth argument to pass to the factory delegate that may create the instace.Sixth argument to pass to the factory delegate that may create the instace.The resolved service instance.The given service could not be resolved. + + + + Resolves the given service by type and name, without passing arguments for its initialization. + Type of the service to retrieve.The resolved service instance.The given service could not be resolved. + + + + Resolves the given service by type and name, passing the given arguments + for its initialization. + Type of the service to retrieve.First argument to pass to the factory delegate that may create the instace.The resolved service instance.The given service could not be resolved. + + + + Resolves the given service by type and name, passing the given arguments + for its initialization. + Type of the service to retrieve.First argument to pass to the factory delegate that may create the instace.Second argument to pass to the factory delegate that may create the instace.The resolved service instance.The given service could not be resolved. + + + + Resolves the given service by type and name, passing the given arguments + for its initialization. + Type of the service to retrieve.First argument to pass to the factory delegate that may create the instace.Second argument to pass to the factory delegate that may create the instace.Third argument to pass to the factory delegate that may create the instace.The resolved service instance.The given service could not be resolved. + + + + Resolves the given service by type and name, passing the given arguments + for its initialization. + Type of the service to retrieve.First argument to pass to the factory delegate that may create the instace.Second argument to pass to the factory delegate that may create the instace.Third argument to pass to the factory delegate that may create the instace.Fourth argument to pass to the factory delegate that may create the instace.The resolved service instance.The given service could not be resolved. + + + + Resolves the given service by type and name, passing the given arguments + for its initialization. + Type of the service to retrieve.First argument to pass to the factory delegate that may create the instace.Second argument to pass to the factory delegate that may create the instace.Third argument to pass to the factory delegate that may create the instace.Fourth argument to pass to the factory delegate that may create the instace.Fifth argument to pass to the factory delegate that may create the instace.The resolved service instance.The given service could not be resolved. + + + + Resolves the given service by type and name, passing the given arguments + for its initialization. + Type of the service to retrieve.First argument to pass to the factory delegate that may create the instace.Second argument to pass to the factory delegate that may create the instace.Third argument to pass to the factory delegate that may create the instace.Fourth argument to pass to the factory delegate that may create the instace.Fifth argument to pass to the factory delegate that may create the instace.Sixth argument to pass to the factory delegate that may create the instace.The resolved service instance.The given service could not be resolved. + + + + Attempts to resolve the given service by type, without passing arguments for its initialization. + Type of the service to retrieve. + The resolved service instance or if it cannot be resolved. + + + + + Attempts to resolve the given service by type, passing the + given arguments arguments for its initialization. + Type of the service to retrieve.First argument to pass to the factory delegate that may create the instace. + The resolved service instance or if it cannot be resolved. + + + + + Attempts to resolve the given service by type, passing the + given arguments arguments for its initialization. + Type of the service to retrieve.First argument to pass to the factory delegate that may create the instace.Second argument to pass to the factory delegate that may create the instace. + The resolved service instance or if it cannot be resolved. + + + + + Attempts to resolve the given service by type, passing the + given arguments arguments for its initialization. + Type of the service to retrieve.First argument to pass to the factory delegate that may create the instace.Second argument to pass to the factory delegate that may create the instace.Third argument to pass to the factory delegate that may create the instace. + The resolved service instance or if it cannot be resolved. + + + + + Attempts to resolve the given service by type, passing the + given arguments arguments for its initialization. + Type of the service to retrieve.First argument to pass to the factory delegate that may create the instace.Second argument to pass to the factory delegate that may create the instace.Third argument to pass to the factory delegate that may create the instace.Fourth argument to pass to the factory delegate that may create the instace. + The resolved service instance or if it cannot be resolved. + + + + + Attempts to resolve the given service by type, passing the + given arguments arguments for its initialization. + Type of the service to retrieve.First argument to pass to the factory delegate that may create the instace.Second argument to pass to the factory delegate that may create the instace.Third argument to pass to the factory delegate that may create the instace.Fourth argument to pass to the factory delegate that may create the instace.Fifth argument to pass to the factory delegate that may create the instace. + The resolved service instance or if it cannot be resolved. + + + + + Attempts to resolve the given service by type, passing the + given arguments arguments for its initialization. + Type of the service to retrieve.First argument to pass to the factory delegate that may create the instace.Second argument to pass to the factory delegate that may create the instace.Third argument to pass to the factory delegate that may create the instace.Fourth argument to pass to the factory delegate that may create the instace.Fifth argument to pass to the factory delegate that may create the instace.Sixth argument to pass to the factory delegate that may create the instace. + The resolved service instance or if it cannot be resolved. + + + + + Attempts to resolve the given service by type and name, without passing + arguments arguments for its initialization. + Type of the service to retrieve. + The resolved service instance or if it cannot be resolved. + + + + + Attempts to resolve the given service by type and name, passing the + given arguments arguments for its initialization. + Type of the service to retrieve.First argument to pass to the factory delegate that may create the instace. + The resolved service instance or if it cannot be resolved. + + + + + Attempts to resolve the given service by type and name, passing the + given arguments arguments for its initialization. + Type of the service to retrieve.First argument to pass to the factory delegate that may create the instace.Second argument to pass to the factory delegate that may create the instace. + The resolved service instance or if it cannot be resolved. + + + + + Attempts to resolve the given service by type and name, passing the + given arguments arguments for its initialization. + Type of the service to retrieve.First argument to pass to the factory delegate that may create the instace.Second argument to pass to the factory delegate that may create the instace.Third argument to pass to the factory delegate that may create the instace. + The resolved service instance or if it cannot be resolved. + + + + + Attempts to resolve the given service by type and name, passing the + given arguments arguments for its initialization. + Type of the service to retrieve.First argument to pass to the factory delegate that may create the instace.Second argument to pass to the factory delegate that may create the instace.Third argument to pass to the factory delegate that may create the instace.Fourth argument to pass to the factory delegate that may create the instace. + The resolved service instance or if it cannot be resolved. + + + + + Attempts to resolve the given service by type and name, passing the + given arguments arguments for its initialization. + Type of the service to retrieve.First argument to pass to the factory delegate that may create the instace.Second argument to pass to the factory delegate that may create the instace.Third argument to pass to the factory delegate that may create the instace.Fourth argument to pass to the factory delegate that may create the instace.Fifth argument to pass to the factory delegate that may create the instace. + The resolved service instance or if it cannot be resolved. + + + + + Attempts to resolve the given service by type and name, passing the + given arguments arguments for its initialization. + Type of the service to retrieve.First argument to pass to the factory delegate that may create the instace.Second argument to pass to the factory delegate that may create the instace.Third argument to pass to the factory delegate that may create the instace.Fourth argument to pass to the factory delegate that may create the instace.Fifth argument to pass to the factory delegate that may create the instace.Sixth argument to pass to the factory delegate that may create the instace. + The resolved service instance or if it cannot be resolved. + + + + + Register an autowired dependency + + + + + + Register an autowired dependency as a separate type + + + + + + Alias for RegisterAutoWiredAs + + + + + + Auto-wires an existing instance, + ie all public properties are tried to be resolved. + + + + + + Default owner for new registrations. by default. + + + + + Default reuse scope for new registrations. by default. + + + + + More familiar name for the new crowd. + + + + + Summary description for $codebehindclassname$ + + + + + Render Markdown for text/markdown and text/plain ContentTypes + + + + + Gets the name of the base most type in the heirachy tree with the same. + + We get an exception when trying to create a schema with multiple types of the same name + like when inheriting from a DataContract with the same name. + + The type. + + + + + Loads the operation types into a dictionary. + If there are multiple operation types with the same name, + the operation type that is last will be the one 'discoverable' via the service. + + The operation types. + + + + Gets string value from Items[name] then Cookies[name] if exists. + Useful when *first* setting the users response cookie in the request filter. + To access the value for this initial request you need to set it in Items[]. + + string value or null if it doesn't exist + + + + Gets request paramater string value by looking in the following order: + - QueryString[name] + - FormData[name] + - Cookies[name] + - Items[name] + + string value or null if it doesn't exist + + + + Contains helper code to time sql statements. + + + + + Returns a new SqlProfiler to be used in the 'profiler' session. + + + + + Tracks when 'command' is started. + + + + + Returns all currently open commands on this connection + + + + + Finishes profiling for 'command', recording durations. + + + + + Called when 'reader' finishes its iterations and is closed. + + + + + The profiling session this SqlProfiler is part of. + + + + + Helper methods that allow operation on SqlProfilers, regardless of their instantiation. + + + + + Tracks when 'command' is started. + + + + + Finishes profiling for 'command', recording durations. + + + + + Called when 'reader' finishes its iterations and is closed. + + + + + Categorizes individual steps to allow filtering. + + + + + Default level given to Timings. + + + + + Useful when profiling many items in a loop, but you don't wish to always see this detail. + + + + + Dictates on which side of the page the profiler popup button is displayed; defaults to left. + + + + + Profiler popup button is displayed on the left. + + + + + Profiler popup button is displayed on the right. + + + + + Contains helper methods that ease working with null s. + + + + + Wraps in a call and executes it, returning its result. + + The current profiling session or null. + Method to execute and profile. + The step name used to label the profiler results. + + + + + Returns an that will time the code between its creation and disposal. + + The current profiling session or null. + A descriptive name for the code that is encapsulated by the resulting IDisposable's lifetime. + This step's visibility level; allows filtering when is called. + + + + Adds 's hierarchy to this profiler's current Timing step, + allowing other threads, remote calls, etc. to be profiled and joined into this profiling session. + + + + + Returns an html-encoded string with a text-representation of ; returns "" when profiler is null. + + The current profiling session or null. + + + + Encapsulates a method that has five parameters and returns a value of the + type specified by the parameter. + + + + + Encapsulates a method that has six parameters and returns a value of the + type specified by the parameter. + + + + + Encapsulates a method that has seven parameters and returns a value of the + type specified by the parameter. + + + + + Non ASP.NET requests + + + + + + + + ASP.NET requests + + + + + + NOT IMPLEMENTED - will format statements with paramters in an Oracle friendly way + + + + + Does NOTHING, implement me! + + + + + This is a micro-cache; suitable when the number of terms is controllable (a few hundred, for example), + and strictly append-only; you cannot change existing values. All key matches are on **REFERENCE** + equality. The type is fully thread-safe. + + + + + Stores both 'compressed' and 'text' caches of the dto in the FileSystem and ICacheTextManager provided. + The ContentType is inferred from the ICacheTextManager's ContentType. + + + + + Non ASP.NET requests + + + + + + + + ASP.NET requests + + + + + + Provides saving and loading s to a storage medium. + + + + + Stores under its . + + The results of a profiling session. + + Should also ensure the profiler is stored as being unviewed by its profiling . + + + + + Returns a from storage based on , which should map to . + + + Should also update that the resulting profiler has been marked as viewed by its profiling . + + + + + Returns a list of s that haven't been seen by . + + User identified by the current . + + + + Understands how to store a to the with absolute expiration. + + + + + The string that prefixes all keys that MiniProfilers are saved under, e.g. + "mini-profiler-ecfb0050-7ce8-4bf1-bf82-2cb38e90e31e". + + + + + Returns a new HttpRuntimeCacheStorage class that will cache MiniProfilers for the specified duration. + + + + + Saves to the HttpRuntime.Cache under a key concated with + and the parameter's . + + + + + Returns the saved identified by . Also marks the resulting + profiler to true. + + + + + Returns a list of s that haven't been seen by . + + User identified by the current . + + + + Syncs access to runtime cache when adding a new list of ids for a user. + + + + + How long to cache each for (i.e. the absolute expiration parameter of + ) + + + + + Understands how to save MiniProfiler results to a MSSQL database, allowing more permanent storage and + querying of slow results. + + + + + Returns a new SqlServerDatabaseStorage object that will insert into the database identified by connectionString. + + + + + Saves 'profiler' to a database under its . + + + + + Returns the MiniProfiler identified by 'id' from the database or null when no MiniProfiler exists under that 'id'. + + + + + Returns a list of s that haven't been seen by . + + User identified by the current . + + + + Returns a DbConnection for your specific provider. + + + + + Returns a DbConnection already opened for execution. + + + + + Giving freshly selected collections, this method puts them in the correct + hierarchy under the 'result' MiniProfiler. + + + + + How we connect to the database used to save/load MiniProfiler results. + + + + + Formats SQL server queries with a DECLARE up top for parameter values + + + + + Formats the SQL in a SQL-Server friendly way, with DECLARE statements for the parameters up top. + + The SqlTiming to format + A formatted SQL string + + + + Exception thrown by the container when a service cannot be resolved. + + + + + Initializes the exception with the service that could not be resolved. + + + + + Initializes the exception with the service (and its name) that could not be resolved. + + + + + Initializes the exception with an arbitrary message. + + + + + Implements a very limited subset of ICacheClient, i.e. + + - T Get[T]() + - Set(path, value) + - Remove(path) + + + + + + Static type constants for referring to service exec methods + + + + + If the underlying command supports BindByName, this sets/clears the underlying + implementation accordingly. This is required to support OracleCommand from dapper-dot-net + + + + + Registers the type in the IoC container and + adds auto-wiring to the specified type. + + + + + + + Registers the type in the IoC container and + adds auto-wiring to the specified type. + The reuse scope is set to none (transient). + + + + + + Registers the types in the IoC container and + adds auto-wiring to the specified types. + The reuse scope is set to none (transient). + + + + + + Starts the Web Service + + + A Uri that acts as the base that the server is listening on. + Format should be: http://127.0.0.1:8080/ or http://127.0.0.1:8080/somevirtual/ + Note: the trailing backslash is required! For more info see the + HttpListener.Prefixes property on MSDN. + + + + + Exécute les tâches définies par l'application associées à la libération ou à la redéfinition des ressources non managées. + + 2 + + + + Inherit from this class if you want to host your web services inside an + ASP.NET application. + + + + + Resolves from IoC container a specified type instance. + + Type to be resolved. + Instance of . + + + + Categories of sql statements. + + + + + Unknown + + + + + DML statements that alter database state, e.g. INSERT, UPDATE + + + + + Statements that return a single record + + + + + Statements that iterate over a result set + + + + + Determines who is responsible for disposing instances + registered with a container. + + + + + Container should dispose provided instances when it is disposed. This is the + default. + + + + + Container does not dispose provided instances. + + + + + Default owner, which equals . + + + + + Keep default file contents in-memory + + + + + + Naming convention for the ResponseStatus property name on the response DTO + + + + + Service error logs are kept in 'urn:ServiceErrors:{ServiceName}' + + + + + Combined service error logs are maintained in 'urn:ServiceErrors:All' + + + + + Create an instance of the service response dto type and inject it with the supplied responseStatus + + + + + + + + Creates the error response from the values provided. + + If the errorCode is empty it will use the first validation error code, + if there is none it will throw an error. + + The error code. + The error message. + The validation errors. + + + + + Override to provide additional/less context about the Service Exception. + By default the request is serialized and appended to the ResponseStatus StackTrace. + + + + + Information about a DbParameter used in the sql statement profiled by SqlTiming. + + + + + Returns true if this has the same parent , and as . + + + + + Returns the XOR of certain properties. + + + + + Which SqlTiming this Parameter was executed with. + + + + + Parameter name, e.g. "@routeName" + + + + + The value submitted to the database. + + + + + System.Data.DbType, e.g. "String", "Bit" + + + + + How large the type is, e.g. for string, size could be 4000 + + + + + Stores The value with key only if such key doesn't exist at the server yet. + + The key. + The value. + The expires at. + + + + + Adds or replaces the value with key. + + The key. + The value. + The expires at. + The check last modified. + True; if it succeeded + + + + Writes to response. + Response headers are customizable by implementing IHasOptions an returning Dictionary of Http headers. + + The response. + Whether or not it was implicity handled by ServiceStack's built-in handlers. + The default action. + The serialization context. + Add prefix to response body if any + Add suffix to response body if any + + + + + Inject alternative container and strategy for resolving Service Types + + + + + Keeping around just to compare how slow it is + + + + + Context to capture IService action + + + + + In Memory repository for files. Useful for testing. + + + + + Common extension methods to use only in this project + + + + + Answers true if this String is either null or empty. + + + + + Answers true if this String is neither null or empty. + + + + + Removes trailing / characters from a path and leaves just one + + + + + Removes any leading / characters from a path + + + + + Removes any leading / characters from a path + + + + + Serializes to a json string. + + + + + Generates a function which creates and auto-wires . + + + + + + + + Auto-wires an existing instance of a specific type. + The auto-wiring progress is also cached to be faster + when calling next time with the same type. + + + + + + Wrapper for a db provider factory to enable profiling + + + + + Every provider factory must have an Instance public field + + + + + Used for db provider apis internally + + + + + Allow to re-init the provider factory. + + + + + + + proxy + + + + + + + proxy + + + + + proxy + + + + + proxy + + + + + proxy + + + + + proxy + + + + + proxy + + + + + proxy + + + + + proxy + + + + + proxy + + + + + Gets the nullable app setting. + + The key. + + + + + Gets the app setting. + + The key. + + + + + Determines wheter the Config section identified by the sectionName exists. + + Name of the section. + + + + + Returns AppSetting[key] if exists otherwise defaultValue + + The key. + The default value. + + + + + Returns AppSetting[key] if exists otherwise defaultValue, for non-string values + + + The key. + The default value. + + + + + Gets the connection string setting. + + The key. + + + + + Gets the connection string. + + The key. + + + + + Gets the list from app setting. + + The key. + + + + + Gets the dictionary from app setting. + + The key. + + + + + Get the static Parse(string) method on the type supplied + + + A delegate to the type's Parse(string) if it has one + + + + Gets the constructor info for T(string) if exists. + + The type. + + + + + Returns the value returned by the 'T.Parse(string)' method if exists otherwise 'new T(string)'. + e.g. if T was a TimeSpan it will return TimeSpan.Parse(textValue). + If there is no Parse Method it will attempt to create a new instance of the destined type + + + The default value. + T.Parse(string) or new T(string) value + + + diff --git a/packages/ServiceStack.Common.3.9.25/ServiceStack.Common.3.9.25.nupkg b/packages/ServiceStack.Common.3.9.25/ServiceStack.Common.3.9.25.nupkg new file mode 100644 index 000000000..bc3a841de Binary files /dev/null and b/packages/ServiceStack.Common.3.9.25/ServiceStack.Common.3.9.25.nupkg differ diff --git a/packages/ServiceStack.Common.3.9.25/ServiceStack.Common.3.9.25.nuspec b/packages/ServiceStack.Common.3.9.25/ServiceStack.Common.3.9.25.nuspec new file mode 100644 index 000000000..483bbe295 --- /dev/null +++ b/packages/ServiceStack.Common.3.9.25/ServiceStack.Common.3.9.25.nuspec @@ -0,0 +1,28 @@ + + + + ServiceStack.Common + 3.9.25 + Service Clients and Common libs for ServiceStack projects + Demis Bellot + Demis Bellot + https://github.com/ServiceStack/ServiceStack/blob/master/LICENSE + https://github.com/ServiceStack/ServiceStack + http://www.servicestack.net/logo-100x100.png + false + Common library dependency for other ServiceStack projects. + Includes JSON, XML, JSV and SOAP Generic Service Clients. + Contains: + - ServiceStack.Interfaces + - ServiceStack.Common + Dependenies: + - ServiceStack.Text + Opensource .NET and Mono REST Web Services framework + servicestack.net 2012 and contributors + en-US + ServiceStack Common Framework + + + + + \ No newline at end of file diff --git a/packages/ServiceStack.Common.3.9.25/lib/net35/ServiceStack.Common.dll b/packages/ServiceStack.Common.3.9.25/lib/net35/ServiceStack.Common.dll new file mode 100644 index 000000000..0eec0463e Binary files /dev/null and b/packages/ServiceStack.Common.3.9.25/lib/net35/ServiceStack.Common.dll differ diff --git a/packages/ServiceStack.Common.3.9.25/lib/net35/ServiceStack.Common.xml b/packages/ServiceStack.Common.3.9.25/lib/net35/ServiceStack.Common.xml new file mode 100644 index 000000000..7e78cb5dc --- /dev/null +++ b/packages/ServiceStack.Common.3.9.25/lib/net35/ServiceStack.Common.xml @@ -0,0 +1,891 @@ + + + + ServiceStack.Common + + + + + Compresses the specified text using the default compression method: Deflate + + The text. + Type of the compression. + + + + + Decompresses the specified gz buffer using the default compression method: Inflate + + The gz buffer. + Type of the compression. + + + + + Encapsulates a validation result. + + + + + Constructs a new ValidationResult + + + + + Constructs a new ValidationResult + + A list of validation results + + + + Initializes a new instance of the class. + + The errors. + The success code. + The error code. + + + + Gets or sets the success code. + + The success code. + + + + Gets or sets the error code. + + The error code. + + + + Gets or sets the success message. + + The success message. + + + + Gets or sets the error message. + + The error message. + + + + The errors generated by the validation. + + + + + Returns True if the validation was successful (errors list is empty). + + + + + Default MaxStringContentLength is 8k, and throws an exception when reached + + + + + Provide the an option for the callee to block until all commands are executed + + + + + + + Encapsulates creating a new message handler + + + + + These extensions have a potential to conflict with the LINQ extensions methods so + leaving the implmentation in the 'Extensions' sub-namespace to force explicit opt-in + + + + Need to provide async request options + http://msdn.microsoft.com/en-us/library/86wf6409(VS.71).aspx + + + + The request filter is called before any request. + This request filter is executed globally. + + + + + The response action is called once the server response is available. + It will allow you to access raw response information. + This response action is executed globally. + Note that you should NOT consume the response stream as this is handled by ServiceStack + + + + + Sets all baseUri properties, using the Format property for the SyncReplyBaseUri and AsyncOneWayBaseUri + + Base URI of the service + + + + Sets all baseUri properties allowing for a temporary override of the Format property + + Base URI of the service + Override of the Format property for the service + + + + Sets the username and the password for basic authentication. + + + + + Specifies if cookies should be stored + + + + + Whether to Accept Gzip,Deflate Content-Encoding and to auto decompress responses + + + + + The user name for basic authentication + + + + + The password for basic authentication + + + + + Gets or sets authentication information for the request. + Warning: It's recommened to use and for basic auth. + This property is only used for IIS level authentication. + + + + + Determines if the basic auth header should be sent with every request. + By default, the basic auth header is only sent when "401 Unauthorized" is returned. + + + + + Called before request resend, when the initial request required authentication + + + + + The request filter is called before any request. + This request filter only works with the instance where it was set (not global). + + + + + The response action is called once the server response is available. + It will allow you to access raw response information. + Note that you should NOT consume the response stream as this is handled by ServiceStack + + + + + Generic Proxy for service calls. + + The service Contract + + + + Returns the transparent proxy for the service call + + + + + + Processes all messages in a Normal and Priority Queue. + Expects to be called in 1 thread. i.e. Non Thread-Safe. + + + + + + Single threaded message handler that can process all messages + of a particular message type. + + + + + Process all messages pending + + + + + + Process messages from a single queue. + + + The queue to process + A predicate on whether to continue processing the next message if any + + + + + Get Current Stats for this Message Handler + + + + + + The type of the message this handler processes + + + + + Useful IPAddressExtensions from: + http://blogs.msdn.com/knom/archive/2008/12/31/ip-address-calculations-with-c-subnetmasks-networks.aspx + + + + + + Gets the ipv4 addresses from all Network Interfaces that have Subnet masks. + + + + + + Gets the ipv6 addresses from all Network Interfaces. + + + + + + Executes the specified action. + + + The action. + + + + + Gets the current context (or null if none). + + + + + Checks if the current context is set to "initialize only". + + + + + Determines whether this context is initialise only or not + + + + + Constructs a new InitialiseOnlyContext + + + + + Call to remove this current context and reveal the previous context (if any). + + + + + Gets or sets the object that has been initialized only. + + + + + The exception which is thrown when a validation error occured. + This validation is serialized in a extra clean and human-readable way by ServiceStack. + + + + + Used if we need to serialize this exception to XML + + + + + + Returns the first error code + + The error code. + + + + Naming convention for the request's Response DTO + + + + + Specifies if cookies should be stored + + + + + Processing client used to interface with ServiceStack and allow a message to be processed. + Not an actual client. + + + + + Publish the specified message into the durable queue @queueName + + + + + + + Publish the specified message into the transient queue @queueName + + + + + + + Synchronous blocking get. + + + + + + + + Non blocking get message + + + + + + + Blocking wait for notifications on any of the supplied channels + + + + + + + Base rcon class. + + + + + Rcon connection socket. Always set to null when not connected. + + + + + Unique ID for each message. + + + + + Registered callbacks. + + + + + Create a new instance of rcon. + + Endpoint to connect to, usually the game server with query port. + + + + Attempts to connect to the game server for rcon operations. + + True if connection established, false otherwise. + + + + Processes a received packet. + + The packet. + + + + Disconnects from rcon. + + + + + Sends message to the server. + + Words to send. + + + + Disconnected event. + + + + + Game server endpoint. + + + + + Last exception that occured during operation. + + + + + Connected? + + + + + Gets the next unique ID to be used for transmisson. Read this before sending to pair responses to sent messages. + + + + + Event delegate when disconnected from the server. + + + + + + Delegate for async callbacks. + + + + + + + Exception thrown when attempting to send on a non-connected service client. + + + + + Gets the textual description of the enum if it has one. e.g. + + + enum UserColors + { + [Description("Bright Red")] + BrightRed + } + UserColors.BrightRed.ToDescription(); + + + + + + + + Note: InMemoryLog keeps all logs in memory, so don't use it long running exceptions + + Returns a thread-safe InMemoryLog which you can use while *TESTING* + to provide a detailed analysis of your logs. + + + + + Donated by Ivan Korneliuk from his post: + http://korneliuk.blogspot.com/2012/08/servicestack-reusing-dtos.html + + Modified to only allow using routes matching the supplied HTTP Verb + + + + + Func to get the Strongly-typed field + + + + + Required to cast the return ValueType to an object for caching + + + + + Func to set the Strongly-typed field + + + + + Required to cast the ValueType to an object for caching + + + + + Required to cast the ValueType to an object for caching + + + + + Populate an object with Example data. + + + + + + + Populates the object with example data. + + + Tracks how deeply nested we are + + + + + Helper extensions for tuples + + + + + Invokes the action provided and returns true if no excpetion was thrown. + Otherwise logs the exception and returns false if an exception was thrown. + + The action. + + + + + Adds the singleton instance of to an endpoint on the client. + + + Based on http://megakemp.wordpress.com/2009/02/06/managing-shared-cookies-in-wcf/ + + + + + Adds the singleton of the class to the client endpoint's message inspectors. + + The endpoint that is to be customized. + The client runtime to be customized. + + + + Maintains a copy of the cookies contained in the incoming HTTP response received from any service + and appends it to all outgoing HTTP requests. + + + This class effectively allows to send any received HTTP cookies to different services, + reproducing the same functionality available in ASMX Web Services proxies with the class. + Based on http://megakemp.wordpress.com/2009/02/06/managing-shared-cookies-in-wcf/ + + + + + Initializes a new instance of the class. + + + + + Inspects a message after a reply message is received but prior to passing it back to the client application. + + The message to be transformed into types and handed back to the client application. + Correlation state data. + + + + Inspects a message before a request message is sent to a service. + + The message to be sent to the service. + The client object channel. + + Null since no message correlation is used. + + + + + Gets the singleton instance. + + + + + Maps the path of a file in the context of a VS project + + the relative path + the absolute path + Assumes static content is two directories above the /bin/ directory, + eg. in a unit test scenario the assembly would be in /bin/Debug/. + + + + Maps the path of a file in a self-hosted scenario + + the relative path + the absolute path + Assumes static content is copied to /bin/ folder with the assemblies + + + + Maps the path of a file in an Asp.Net hosted scenario + + the relative path + the absolute path + Assumes static content is in the parent folder of the /bin/ directory + + + + Gets the namespace from an attribute marked on the type's definition + + + Namespace of type + + + + Hosting services via a binary-safe TCP-based protocol. + + + + + Register DTOs and hanlders the MQ Host will process + + + + + + + Get Total Current Stats for all Message Handlers + + + + + + Get a Stats dump + + + + + + Start the MQ Host. Stops the server and restarts if already started. + + + + + Stop the MQ Host if not already stopped. + + + + + Processes a received packet. + + The packet. + + + + Factory to create consumers and producers that work with this service + + + + + Shortcut to get the ResponseDTO whether it's bare or inside a IHttpResult + + + + + + + Alias of ToDto + + + + + Shortcut to get the ResponseDTO whether it's bare or inside a IHttpResult + + + TResponse if found; otherwise null + + + + Alias of ToDto + + + + + Shortcut to get the ResponseStatus whether it's bare or inside a IHttpResult + + + + + + + Whether the response is an IHttpError or Exception + + + + + + + True if the packet originated on the server. + + + + + True if the packet is a response from a sent packet. + + + + + Sequence identifier. Unique to the connection. + + + + + Words. + + + + + Serializer cache of delegates required to create a type from a string map (e.g. for REST urls) + + + + + Contains methods required for encoding and decoding rcon packets. + + + + + Decodes a packet. + + The packet. + A packet object. + + + + Decodes the packet header. + + + + + + + Decodes words in a packet. + + + + + + + Encodes a packet for transmission to the server. + + + + + + + + + + Encodes a packet header. + + + + + + + + + Encodes words. + + + + + + + Func to get the Strongly-typed field + + + + + Required to cast the return ValueType to an object for caching + + + + + Func to set the Strongly-typed field + + + + + Required to cast the ValueType to an object for caching + + + + + Required to cast the ValueType to an object for caching + + + + + Store an entry in the IHttpRequest.Items Dictionary + + + + + Get an entry from the IHttpRequest.Items Dictionary + + + + + Creates a Unified Resource Name (URN) with the following formats: + + - urn:{TypeName}:{IdFieldValue} e.g. urn:UserSession:1 + - urn:{TypeName}:{IdFieldName}:{IdFieldValue} e.g. urn:UserSession:UserId:1 + + + + + + Common functionality when creating adapters + + + + + Executes the specified expression. + + + The action. + + + + + Executes the specified action (for void methods). + + The action. + + + Need to provide async request options + http://msdn.microsoft.com/en-us/library/86wf6409(VS.71).aspx + + + + The request filter is called before any request. + This request filter is executed globally. + + + + + The response action is called once the server response is available. + It will allow you to access raw response information. + This response action is executed globally. + Note that you should NOT consume the response stream as this is handled by ServiceStack + + + + + Called before request resend, when the initial request required authentication + + + + + The request filter is called before any request. + This request filter only works with the instance where it was set (not global). + + + + + The response action is called once the server response is available. + It will allow you to access raw response information. + Note that you should NOT consume the response stream as this is handled by ServiceStack + + + + diff --git a/packages/ServiceStack.Common.3.9.25/lib/net35/ServiceStack.Interfaces.dll b/packages/ServiceStack.Common.3.9.25/lib/net35/ServiceStack.Interfaces.dll new file mode 100644 index 000000000..957e69edd Binary files /dev/null and b/packages/ServiceStack.Common.3.9.25/lib/net35/ServiceStack.Interfaces.dll differ diff --git a/packages/ServiceStack.Common.3.9.25/lib/net35/ServiceStack.Interfaces.xml b/packages/ServiceStack.Common.3.9.25/lib/net35/ServiceStack.Interfaces.xml new file mode 100644 index 000000000..08790585c --- /dev/null +++ b/packages/ServiceStack.Common.3.9.25/lib/net35/ServiceStack.Interfaces.xml @@ -0,0 +1,1596 @@ + + + + ServiceStack.Interfaces + + + + + Used to decorate Request DTO's to associate a RESTful request + path mapping with a service. Multiple attributes can be applied to + each request DTO, to map multiple paths to the service. + + + + + Used to decorate Request DTO's to associate a RESTful request + path mapping with a service. Multiple attributes can be applied to + each request DTO, to map multiple paths to the service. + + + + + Initializes an instance of the class. + + + The path template to map to the request. See + RouteAttribute.Path + for details on the correct format. + + + + + Initializes an instance of the class. + + + The path template to map to the request. See + RouteAttribute.Path + for details on the correct format. + + A comma-delimited list of HTTP verbs supported by the + service. If unspecified, all verbs are assumed to be supported. + + + + Gets or sets the path template to be mapped to the request. + + + A value providing the path mapped to + the request. Never . + + + Some examples of valid paths are: + + + "/Inventory" + "/Inventory/{Category}/{ItemId}" + "/Inventory/{ItemPath*}" + + + Variables are specified within "{}" + brackets. Each variable in the path is mapped to the same-named property + on the request DTO. At runtime, ServiceStack will parse the + request URL, extract the variable values, instantiate the request DTO, + and assign the variable values into the corresponding request properties, + prior to passing the request DTO to the service object for processing. + + It is not necessary to specify all request properties as + variables in the path. For unspecified properties, callers may provide + values in the query string. For example: the URL + "http://services/Inventory?Category=Books&ItemId=12345" causes the same + request DTO to be processed as "http://services/Inventory/Books/12345", + provided that the paths "/Inventory" (which supports the first URL) and + "/Inventory/{Category}/{ItemId}" (which supports the second URL) + are both mapped to the request DTO. + + Please note that while it is possible to specify property values + in the query string, it is generally considered to be less RESTful and + less desirable than to specify them as variables in the path. Using the + query string to specify property values may also interfere with HTTP + caching. + + The final variable in the path may contain a "*" suffix + to grab all remaining segments in the path portion of the request URL and assign + them to a single property on the request DTO. + For example, if the path "/Inventory/{ItemPath*}" is mapped to the request DTO, + then the request URL "http://services/Inventory/Books/12345" will result + in a request DTO whose ItemPath property contains "Books/12345". + You may only specify one such variable in the path, and it must be positioned at + the end of the path. + + + + + Gets or sets short summary of what the route does. + + + + + Gets or sets longer text to explain the behaviour of the route. + + + + + Gets or sets a comma-delimited list of HTTP verbs supported by the service, such as + "GET,PUT,POST,DELETE". + + + A providing a comma-delimited list of HTTP verbs supported + by the service, or empty if all verbs are supported. + + + + + Initializes an instance of the class. + + + The path template to map to the request. See + RestServiceAttribute.Path + for details on the correct format. + + + + + Initializes an instance of the class. + + + The path template to map to the request. See + RestServiceAttribute.Path + for details on the correct format. + + A comma-delimited list of HTTP verbs supported by the + service. If unspecified, all verbs are assumed to be supported. + + + + Base interface all webservices need to implement. + For simplicity this is the only interface you need to implement + + + + + + interface to queueable operation using typed redis client + + + + + + For providers that want a cleaner API with a little more perf + + + + + + Generic ResponseStatus for when Response Type can't be inferred. + In schemaless formats like JSON, JSV it has the same shape as a typed Response DTO + + + + + Contract indication that the Response DTO has a ResponseStatus + + + + + Publish the specified message into the durable queue @queueName + + + + + + + Publish the specified message into the transient queue @queueName + + + + + + + Synchronous blocking get. + + + + + + + + Non blocking get message + + + + + + + Blocking wait for notifications on any of the supplied channels + + + + + + + If the Service also implements this interface, + IRestPutService.Put() will be used instead of IService.Execute() for + EndpointAttributes.HttpPut requests + + + + + + A thin wrapper around ASP.NET or HttpListener's HttpRequest + + + + + Resolve a dependency from the AppHost's IOC + + + + + + + The entire string contents of Request.InputStream + + + + + + The underlying ASP.NET or HttpListener HttpRequest + + + + + The name of the service being called (e.g. Request DTO Name) + + + + + The request ContentType + + + + + The expected Response ContentType for this request + + + + + Attach any data to this request that all filters and services can access. + + + + + The Remote Ip as reported by Request.UserHostAddress + + + + + The Remote Ip as reported by X-Forwarded-For, X-Real-IP or Request.UserHostAddress + + + + + e.g. is https or not + + + + + Access to the multi-part/formdata files posted on this request + + + + + Subscribe to channels by name + + + + + + Subscribe to channels matching the supplied patterns + + + + + + The number of active subscriptions this client has + + + + + Registered handler called after client *Subscribes* to each new channel + + + + + Registered handler called when each message is received + + + + + Registered handler called when each channel is unsubscribed + + + + + Redis transaction for typed client + + + + + + If the Service also implements this interface, + IRestPutService.Patch() will be used instead of IService.Execute() for + EndpointAttributes.HttpPatch requests + + + + + + Log every service request + + + + + Log a request + + The RequestContext + Request DTO + Response DTO or Exception + How long did the Request take + + + + View the most recent logs + + + + + + + Turn On/Off Session Tracking + + + + + Turn On/Off Tracking of Responses + + + + + Turn On/Off Tracking of Exceptions + + + + + Limit access to /requestlogs service to role + + + + + Don't log requests of these types. + + + + + Don't log request bodys for services with sensitive information. + By default Auth and Registration requests are hidden. + + + + + This interface can be implemented by an attribute + which adds an request filter for the specific request DTO the attribute marked. + + + + + The request filter is executed before the service. + + The http request wrapper + The http response wrapper + The request DTO + + + + A new shallow copy of this filter is used on every request. + + + + + + Order in which Request Filters are executed. + <0 Executed before global request filters + >0 Executed after global request filters + + + + + Tests logger which stores all log messages in a member list which can be examined later + + Made public so its testable + + + + + Logs a message in a running application + + + + + Logs a Debug message. + + The message. + + + + Logs a Debug message and exception. + + The message. + The exception. + + + + Logs a Debug format message. + + The format. + The args. + + + + Logs a Error message. + + The message. + + + + Logs a Error message and exception. + + The message. + The exception. + + + + Logs a Error format message. + + The format. + The args. + + + + Logs a Fatal message. + + The message. + + + + Logs a Fatal message and exception. + + The message. + The exception. + + + + Logs a Error format message. + + The format. + The args. + + + + Logs an Info message and exception. + + The message. + + + + Logs an Info message and exception. + + The message. + The exception. + + + + Logs an Info format message. + + The format. + The args. + + + + Logs a Warning message. + + The message. + + + + Logs a Warning message and exception. + + The message. + The exception. + + + + Logs a Warning format message. + + The format. + The args. + + + + Gets or sets a value indicating whether this instance is debug enabled. + + + true if this instance is debug enabled; otherwise, false. + + + + + Initializes a new instance of the class. + + The type. + + + + Initializes a new instance of the class. + + The type. + + + + Logs the specified message. + + The message. + The exception. + + + + Logs the format. + + The message. + The args. + + + + Logs the specified message. + + The message. + + + + This instructs the generator tool to generate translator methods for the types supplied. + A {TypeName}.generated.cs partial class will be generated that contains the methods required + to generate to and from that type. + + + + + A log entry added by the IRequestLogger + + + + + Allow the registration of user-defined routes for services + + + + + Maps the specified REST path to the specified request DTO. + + The type of request DTO to map + the path to. + The path to map the request DTO to. + See RestServiceAttribute.Path + for details on the correct format. + The same instance; + never . + + + + Maps the specified REST path to the specified request DTO, and + specifies the HTTP verbs supported by the path. + + The type of request DTO to map + the path to. + The path to map the request DTO to. + See RestServiceAttribute.Path + for details on the correct format. + + The comma-delimited list of HTTP verbs supported by the path, + such as "GET,PUT,DELETE". Specify empty or + to indicate that all verbs are supported. + + The same instance; + never . + + + + Maps the specified REST path to the specified request DTO, + specifies the HTTP verbs supported by the path, and indicates + the default MIME type of the returned response. + + + The type of request DTO to map the path to. + + The path to map the request DTO to. + See RestServiceAttribute.Path + for details on the correct format. + + The comma-delimited list of HTTP verbs supported by the path, + such as "GET,PUT,DELETE". + + The same instance; + never . + + + + Maps the specified REST path to the specified request DTO, + specifies the HTTP verbs supported by the path, and indicates + the default MIME type of the returned response. + + + The type of request DTO to map the path to. + + The path to map the request DTO to. + See RestServiceAttribute.Path + for details on the correct format. + + The comma-delimited list of HTTP verbs supported by the path, + such as "GET,PUT,DELETE". + + + The short summary of what the REST does. + + + The longer text to explain the behaviour of the REST. + + The same instance; + never . + + + + Responsible for executing the operation within the specified context. + + The operation types. + + + + Returns the first matching RestPath + + + + + + + + Executes the MQ DTO request. + + + + + Executes the MQ DTO request with the supplied requestContext + + + + + Executes the DTO request under the supplied requestContext. + + + + + + + + Returns a list of operation types available in this service + + The operation types. + + + + Returns a list of ALL operation types available in this service + + The operation types. + + + + Allow the registration of custom routes + + + + + If the Service also implements this interface, + IRestDeleteService.Delete() will be used instead of IService.Execute() for + EndpointAttributes.HttpDelete requests + + + + + + Implement on services that need access to the RequestContext + + + + + The HTTP Response Status + + + + + The HTTP Response Status Code + + + + + The HTTP Status Description + + + + + The HTTP Response ContentType + + + + + Additional HTTP Headers + + + + + Response DTO + + + + + if not provided, get's injected by ServiceStack + + + + + Holds the request call context + + + + + Interface to redis typed pipeline + + + + + Pipeline interface shared by typed and non-typed pipelines + + + + + Interface to operations that allow queued commands to be completed + + + + + Wrap the common redis list operations under a IList[string] interface. + + + + + An Error Message Type that can be easily serialized + + + + + Simple definition of an MQ Host + + + + + Register DTOs and hanlders the MQ Host will process + + + + + + + Register DTOs and hanlders the MQ Host will process + + + + + + + + Get Total Current Stats for all Message Handlers + + + + + + Get the status of the service. Potential Statuses: Disposed, Stopped, Stopping, Starting, Started + + + + + + Get a Stats dump + + + + + + Start the MQ Host if not already started. + + + + + Stop the MQ Host if not already stopped. + + + + + Factory to create consumers and producers that work with this service + + + + + Creates a Debug Logger, that logs all messages to: System.Diagnostics.Debug + + Made public so its testable + + + + + Factory to create ILog instances + + + + + Gets the logger. + + The type. + + + + + Gets the logger. + + Name of the type. + + + + + Manages a connection to a persistance provider + + + + + Sends the specified request. + + The request. + + + + + For messaging exceptions that should by-pass the messaging service's configured + retry attempts and store the message straight into the DLQ + + + + + Base Exception for all ServiceStack.Messaging exceptions + + + + + Allow delegation of dependencies to other IOC's + + + + + Resolve Property Dependency + + + + + + + Resolve Constructor Dependency + + + + + + + If the Service also implements this interface, + IAsyncService.ExecuteAsync() will be used instead of IService.Execute() for + EndpointAttributes.AsyncOneWay requests + + + + + + interface to operation that can queue commands + + + + + Creates a Debug Logger, that logs all messages to: System.Diagnostics.Debug + + Made public so its testable + + + + + Error information pertaining to a particular named field. + Used for returning multiple field validation errors.s + + + + + Utility interface that implements all Rest operations + + + + + + If the Service also implements this interface, + IRestGetService.Get() will be used instead of IService.Execute() for + EndpointAttributes.HttpGet requests + + + + + + If the Service also implements this interface, + IRestPostService.Post() will be used instead of IService.Execute() for + EndpointAttributes.HttpPost requests + + + + + + Marker interface to mark an Express controller with different routes for each method + + + + + Logging API for this library. You can inject your own implementation otherwise + will use the DebugLogFactory to write to System.Diagnostics.Debug + + + + + Gets the logger. + + The type. + + + + + Gets the logger. + + Name of the type. + + + + + Gets or sets the log factory. + Use this to override the factory that is used to create loggers + + The log factory. + + + + This changes the default behaviour for the + + + + + Interface to redis pipeline + + + + + Creates a test Logger, that stores all log messages in a member list + + + + + A light interface over a cache client. + This interface was inspired by Enyim.Caching.MemcachedClient + + Only the methods that are intended to be used are required, if you require + extra functionality you can uncomment the unused methods below as they have been + implemented in DdnMemcachedClient + + + + + Removes the specified item from the cache. + + The identifier for the item to delete. + + true if the item was successfully removed from the cache; false otherwise. + + + + + Removes the cache for all the keys provided. + + The keys. + + + + Retrieves the specified item from the cache. + + The identifier for the item to retrieve. + + The retrieved item, or null if the key was not found. + + + + + Increments the value of the specified key by the given amount. The operation is atomic and happens on the server. + + The identifier for the item to increment. + The amount by which the client wants to increase the item. + + The new value of the item or -1 if not found. + + The item must be inserted into the cache before it can be changed. The item must be inserted as a . The operation only works with values, so -1 always indicates that the item was not found. + + + + Increments the value of the specified key by the given amount. The operation is atomic and happens on the server. + + The identifier for the item to increment. + The amount by which the client wants to decrease the item. + + The new value of the item or -1 if not found. + + The item must be inserted into the cache before it can be changed. The item must be inserted as a . The operation only works with values, so -1 always indicates that the item was not found. + + + + Inserts an item into the cache with a cache key to reference its location. + + The key used to reference the item. + The object to be inserted into the cache. + + true if the item was successfully stored in the cache; false otherwise. + + The item does not expire unless it is removed due memory pressure. + + + + Inserts an item into the cache with a cache key to reference its location. + + The key used to reference the item. + The object to be inserted into the cache. + The time when the item is invalidated in the cache. + true if the item was successfully stored in the cache; false otherwise. + + + + Removes all data from the cache. + + + + + Retrieves multiple items from the cache. + + The list of identifiers for the items to retrieve. + + a Dictionary holding all items indexed by their key. + + + + + This instructs the generator tool to generate translator extension methods for the types supplied. + A {TypeName}.generated.cs static class will be generated that contains the extension methods required + to generate to and from that type. + + The source type is what the type the attribute is decorated on which can only be resolved at runtime. + + + + + A thin wrapper around ASP.NET or HttpListener's HttpResponse + + + + + Signal that this response has been handled and no more processing should be done. + When used in a request or response filter, no more filters or processing is done on this request. + + + + + Calls Response.End() on ASP.NET HttpResponse otherwise is an alias for Close(). + Useful when you want to prevent ASP.NET to provide it's own custom error page. + + + + + Response.Flush() and OutputStream.Flush() seem to have different behaviour in ASP.NET + + + + + The underlying ASP.NET or HttpListener HttpResponse + + + + + Gets a value indicating whether this instance is closed. + + + + + If the Service also implements this interface, + IRestPutService.Options() will be used instead of IService.Execute() for + EndpointAttributes.HttpPut requests + + + + + + Returns a Read/Write client (The default) using the hosts defined in ReadWriteHosts + + + + + + Returns a ReadOnly client using the hosts defined in ReadOnlyHosts. + + + + + + Returns a Read/Write ICacheClient (The default) using the hosts defined in ReadWriteHosts + + + + + + Returns a ReadOnly ICacheClient using the hosts defined in ReadOnlyHosts. + + + + + + Retrieves a User Session + + + + + Gets the session for this request, creates one if it doesn't exist. + + + + + + + + Gets the session for this request, creates one if it doesn't exist. + Only for ASP.NET apps. Uses the HttpContext.Current singleton. + + + + + Removes items from cache that have keys matching the specified wildcard pattern + + The wildcard, where "*" means any sequence of characters and "?" means any single character. + + + + Removes items from the cache based on the specified regular expression pattern + + Regular expression pattern to search cache keys + + + + This interface can be implemented by an attribute + which adds an response filter for the specific response DTO the attribute marked. + + + + + The response filter is executed after the service + + The http request wrapper + The http response wrapper + + + + A new shallow copy of this filter is used on every request. + + + + + + Order in which Response Filters are executed. + <0 Executed before global response filters + >0 Executed after global response filters + + + + + Implement on Request DTOs that need access to the raw Request Stream + + + + + The raw Http Request Input Stream + + + + + A common interface implementation that is implemeneted by most cache providers + + + + + Removes the specified item from the cache. + + The identifier for the item to delete. + + true if the item was successfully removed from the cache; false otherwise. + + + + + Removes the cache for all the keys provided. + + The keys. + + + + Retrieves the specified item from the cache. + + + The identifier for the item to retrieve. + + The retrieved item, or null if the key was not found. + + + + + Increments the value of the specified key by the given amount. + The operation is atomic and happens on the server. + A non existent value at key starts at 0 + + The identifier for the item to increment. + The amount by which the client wants to increase the item. + + The new value of the item or -1 if not found. + + The item must be inserted into the cache before it can be changed. The item must be inserted as a . The operation only works with values, so -1 always indicates that the item was not found. + + + + Increments the value of the specified key by the given amount. + The operation is atomic and happens on the server. + A non existent value at key starts at 0 + + The identifier for the item to increment. + The amount by which the client wants to decrease the item. + + The new value of the item or -1 if not found. + + The item must be inserted into the cache before it can be changed. The item must be inserted as a . The operation only works with values, so -1 always indicates that the item was not found. + + + + Adds a new item into the cache at the specified cache key only if the cache is empty. + + The key used to reference the item. + The object to be inserted into the cache. + + true if the item was successfully stored in the cache; false otherwise. + + The item does not expire unless it is removed due memory pressure. + + + + Sets an item into the cache at the cache key specified regardless if it already exists or not. + + + + + Replaces the item at the cachekey specified only if an items exists at the location already. + + + + + Invalidates all data on the cache. + + + + + + Sets multiple items to the cache. + + + The values. + + + + Returns a high-level typed client API + Shorter Alias is As<T>(); + + + + + + Returns a high-level typed client API + + + + + + Util static generic class to create unique queue names for types + + + + + + Util class to create unique queue names for runtime types + + + + + Basic implementation of IMessage[T] + + + + + + The same functionality is on IServiceResolver + + + + + Default logger is to Console.WriteLine + + Made public so its testable + + + + + Initializes a new instance of the class. + + The type. + + + + Initializes a new instance of the class. + + The type. + + + + Logs the specified message. + + The message. + The exception. + + + + Logs the format. + + The message. + The args. + + + + Logs the specified message. + + The message. + + + + A Users Session + + + + + Set a typed value at key + + + + + + + + Get a typed value at key + + + + + + + + Store any object at key + + + + + + + Used to decorate Request DTO's to alter the behaviour of a service. + + + + + Sets a single access restriction + + The restrict access to. + + + + Set multiple access scenarios + + The restrict access to scenarios. + + + + Base transaction interface, shared by typed and non-typed transactions + + + + + Returns a Read/Write client (The default) using the hosts defined in ReadWriteHosts + + + + + + Returns a ReadOnly client using the hosts defined in ReadOnlyHosts. + + + + + + Returns a Read/Write ICacheClient (The default) using the hosts defined in ReadWriteHosts + + + + + + Returns a ReadOnly ICacheClient using the hosts defined in ReadOnlyHosts. + + + + + + Interface to redis transaction + + + + + Creates a Debug Logger, that logs all messages to: System.Diagnostics.Debug + + Made public so its testable + + + + + Common ResponseStatus class that should be present on all response DTO's + + + + + Initializes a new instance of the class. + + A response status without an errorcode == success + + + + + Initializes a new instance of the class. + + A response status with an errorcode == failure + + + + + Initializes a new instance of the class. + + A response status with an errorcode == failure + + + + + Holds the custom ErrorCode enum if provided in ValidationException + otherwise will hold the name of the Exception type, e.g. typeof(Exception).Name + + A value of non-null means the service encountered an error while processing the request. + + + + + A human friendly error message + + + + + + + + + + For multiple detailed validation errors. + Can hold a specific error message for each named field. + + + + + Marker interfaces + + + + + Default logger is to System.Diagnostics.Debug.Print + + Made public so its testable + + + + + Initializes a new instance of the class. + + The type. + + + + Initializes a new instance of the class. + + The type. + + + + Logs the specified message. + + The message. + The exception. + + + + Logs the format. + + The message. + The args. + + + + Logs the specified message. + + The message. + + + + Default logger is to System.Diagnostics.Debug.WriteLine + + Made public so its testable + + + + + Initializes a new instance of the class. + + The type. + + + + Initializes a new instance of the class. + + The type. + + + + Logs the specified message. + + The message. + The exception. + + + + Logs the format. + + The message. + The args. + + + + Logs the specified message. + + The message. + + + diff --git a/packages/ServiceStack.Common.3.9.25/lib/sl4/README.txt b/packages/ServiceStack.Common.3.9.25/lib/sl4/README.txt new file mode 100644 index 000000000..6e4324a14 --- /dev/null +++ b/packages/ServiceStack.Common.3.9.25/lib/sl4/README.txt @@ -0,0 +1,3 @@ +ServiceStack Client builds for Silverlight. + +Due to restrictions in Silverlight only the Async operations are supported. \ No newline at end of file diff --git a/packages/ServiceStack.Common.3.9.25/lib/sl4/ServiceStack.Common.dll b/packages/ServiceStack.Common.3.9.25/lib/sl4/ServiceStack.Common.dll new file mode 100644 index 000000000..2d28618e4 Binary files /dev/null and b/packages/ServiceStack.Common.3.9.25/lib/sl4/ServiceStack.Common.dll differ diff --git a/packages/ServiceStack.Common.3.9.25/lib/sl4/ServiceStack.Common.xml b/packages/ServiceStack.Common.3.9.25/lib/sl4/ServiceStack.Common.xml new file mode 100644 index 000000000..68425b9eb --- /dev/null +++ b/packages/ServiceStack.Common.3.9.25/lib/sl4/ServiceStack.Common.xml @@ -0,0 +1,475 @@ + + + + ServiceStack.Common + + + + + The exception which is thrown when a validation error occured. + This validation is serialized in a extra clean and human-readable way by ServiceStack. + + + + + Used if we need to serialize this exception to XML + + + + + + Returns the first error code + + The error code. + + + Need to provide async request options + http://msdn.microsoft.com/en-us/library/86wf6409(VS.71).aspx + + + + Sets the username and the password for basic authentication. + + + + + Specifies if cookies should be stored + + + + + The request filter is called before any request. + This request filter is executed globally. + + + + + The user name for basic authentication + + + + + The password for basic authentication + + + + + Gets or sets authentication information for the request. + Warning: It's recommened to use and for basic auth. + This property is only used for IIS level authentication. + + + + + Determines if the basic auth header should be sent with every request. + By default, the basic auth header is only sent when "401 Unauthorized" is returned. + + + + + The request filter is called before any request. + This request filter only works with the instance where it was set (not global). + + + + + Encapsulates creating a new message handler + + + + + Useful IPAddressExtensions from: + http://blogs.msdn.com/knom/archive/2008/12/31/ip-address-calculations-with-c-subnetmasks-networks.aspx + + + + + + Gets the ipv4 addresses from all Network Interfaces that have Subnet masks. + + + + + + Gets the ipv6 addresses from all Network Interfaces. + + + + + + These extensions have a potential to conflict with the LINQ extensions methods so + leaving the implmentation in the 'Extensions' sub-namespace to force explicit opt-in + + + + + + Invokes the action provided and returns true if no excpetion was thrown. + Otherwise logs the exception and returns false if an exception was thrown. + + The action. + + + + + Contains methods required for encoding and decoding rcon packets. + + + + + Decodes a packet. + + The packet. + A packet object. + + + + Decodes the packet header. + + + + + + + Decodes words in a packet. + + + + + + + Encodes a packet for transmission to the server. + + + + + + + + + + Encodes a packet header. + + + + + + + + + Encodes words. + + + + + + + Maps the path of a file in the context of a VS project + + the relative path + the absolute path + Assumes static content is two directories above the /bin/ directory, + eg. in a unit test scenario the assembly would be in /bin/Debug/. + + + + Maps the path of a file in a self-hosted scenario + + the relative path + the absolute path + Assumes static content is copied to /bin/ folder with the assemblies + + + + Maps the path of a file in an Asp.Net hosted scenario + + the relative path + the absolute path + Assumes static content is in the parent folder of the /bin/ directory + + + + Encapsulates a validation result. + + + + + Constructs a new ValidationResult + + + + + Constructs a new ValidationResult + + A list of validation results + + + + Initializes a new instance of the class. + + The errors. + The success code. + The error code. + + + + Gets or sets the success code. + + The success code. + + + + Gets or sets the error code. + + The error code. + + + + Gets or sets the success message. + + The success message. + + + + Gets or sets the error message. + + The error message. + + + + The errors generated by the validation. + + + + + Returns True if the validation was successful (errors list is empty). + + + + + Populate an object with Example data. + + + + + + + Populates the object with example data. + + + Tracks how deeply nested we are + + + + + Processes all messages in a Normal and Priority Queue. + Expects to be called in 1 thread. i.e. Non Thread-Safe. + + + + + + Single threaded message handler that can process all messages + of a particular message type. + + + + + Process all messages pending + + + + + + Get Current Stats for this Message Handler + + + + + + The type of the message this handler processes + + + + + Gets the textual description of the enum if it has one. e.g. + + + enum UserColors + { + [Description("Bright Red")] + BrightRed + } + UserColors.BrightRed.ToDescription(); + + + + + + + + True if the packet originated on the server. + + + + + True if the packet is a response from a sent packet. + + + + + Sequence identifier. Unique to the connection. + + + + + Words. + + + + + Creates a Unified Resource Name (URN) with the following formats: + + - urn:{TypeName}:{IdFieldValue} e.g. urn:UserSession:1 + - urn:{TypeName}:{IdFieldName}:{IdFieldValue} e.g. urn:UserSession:UserId:1 + + + + + + Common functionality when creating adapters + + + + + Executes the specified expression. + + + The action. + + + + + Executes the specified action (for void methods). + + The action. + + + Need to provide async request options + http://msdn.microsoft.com/en-us/library/86wf6409(VS.71).aspx + + + + Default MaxStringContentLength is 8k, and throws an exception when reached + + + + + Func to get the Strongly-typed field + + + + + Required to cast the return ValueType to an object for caching + + + + + Func to set the Strongly-typed field + + + + + Required to cast the ValueType to an object for caching + + + + + Required to cast the ValueType to an object for caching + + + + + Executes the specified action. + + + The action. + + + + + Gets the current context (or null if none). + + + + + Checks if the current context is set to "initialize only". + + + + + Determines whether this context is initialise only or not + + + + + Constructs a new InitialiseOnlyContext + + + + + Call to remove this current context and reveal the previous context (if any). + + + + + Gets or sets the object that has been initialized only. + + + + + Serializer cache of delegates required to create a type from a string map (e.g. for REST urls) + + + + + Provide the an option for the callee to block until all commands are executed + + + + + + + Note: InMemoryLog keeps all logs in memory, so don't use it long running exceptions + + Returns a thread-safe InMemoryLog which you can use while *TESTING* + to provide a detailed analysis of your logs. + + + + + Func to get the Strongly-typed field + + + + + Required to cast the return ValueType to an object for caching + + + + + Func to set the Strongly-typed field + + + + + Required to cast the ValueType to an object for caching + + + + + Required to cast the ValueType to an object for caching + + + + diff --git a/packages/ServiceStack.Common.3.9.25/lib/sl4/ServiceStack.Interfaces.dll b/packages/ServiceStack.Common.3.9.25/lib/sl4/ServiceStack.Interfaces.dll new file mode 100644 index 000000000..0840a3577 Binary files /dev/null and b/packages/ServiceStack.Common.3.9.25/lib/sl4/ServiceStack.Interfaces.dll differ diff --git a/packages/ServiceStack.Common.3.9.25/lib/sl4/ServiceStack.Interfaces.xml b/packages/ServiceStack.Common.3.9.25/lib/sl4/ServiceStack.Interfaces.xml new file mode 100644 index 000000000..47c34dfd4 --- /dev/null +++ b/packages/ServiceStack.Common.3.9.25/lib/sl4/ServiceStack.Interfaces.xml @@ -0,0 +1,1343 @@ + + + + ServiceStack.Interfaces + + + + + This instructs the generator tool to generate translator methods for the types supplied. + A {TypeName}.generated.cs partial class will be generated that contains the methods required + to generate to and from that type. + + + + + Error information pertaining to a particular named field. + Used for returning multiple field validation errors.s + + + + + If the Service also implements this interface, + IRestPutService.Put() will be used instead of IService.Execute() for + EndpointAttributes.HttpPut requests + + + + + + A thin wrapper around ASP.NET or HttpListener's HttpResponse + + + + + Signal that this response has been handled and no more processing should be done. + When used in a request or response filter, no more filters or processing is done on this request. + + + + + Calls Response.End() on ASP.NET HttpResponse otherwise is an alias for Close(). + Useful when you want to prevent ASP.NET to provide it's own custom error page. + + + + + Response.Flush() and OutputStream.Flush() seem to have different behaviour in ASP.NET + + + + + The underlying ASP.NET or HttpListener HttpResponse + + + + + Gets a value indicating whether this instance is closed. + + + + + Subscribe to channels by name + + + + + + Subscribe to channels matching the supplied patterns + + + + + + The number of active subscriptions this client has + + + + + Registered handler called after client *Subscribes* to each new channel + + + + + Registered handler called when each message is received + + + + + Registered handler called when each channel is unsubscribed + + + + + Wrap the common redis list operations under a IList[string] interface. + + + + + Creates a Debug Logger, that logs all messages to: System.Diagnostics.Debug + + Made public so its testable + + + + + Factory to create ILog instances + + + + + Gets the logger. + + The type. + + + + + Gets the logger. + + Name of the type. + + + + + Contract indication that the Response DTO has a ResponseStatus + + + + + interface to operation that can queue commands + + + + + For messaging exceptions that should by-pass the messaging service's configured + retry attempts and store the message straight into the DLQ + + + + + Base Exception for all ServiceStack.Messaging exceptions + + + + + Default logger is to Console.WriteLine + + Made public so its testable + + + + + Logs a message in a running application + + + + + Logs a Debug message. + + The message. + + + + Logs a Debug message and exception. + + The message. + The exception. + + + + Logs a Debug format message. + + The format. + The args. + + + + Logs a Error message. + + The message. + + + + Logs a Error message and exception. + + The message. + The exception. + + + + Logs a Error format message. + + The format. + The args. + + + + Logs a Fatal message. + + The message. + + + + Logs a Fatal message and exception. + + The message. + The exception. + + + + Logs a Error format message. + + The format. + The args. + + + + Logs an Info message and exception. + + The message. + + + + Logs an Info message and exception. + + The message. + The exception. + + + + Logs an Info format message. + + The format. + The args. + + + + Logs a Warning message. + + The message. + + + + Logs a Warning message and exception. + + The message. + The exception. + + + + Logs a Warning format message. + + The format. + The args. + + + + Gets or sets a value indicating whether this instance is debug enabled. + + + true if this instance is debug enabled; otherwise, false. + + + + + Initializes a new instance of the class. + + The type. + + + + Initializes a new instance of the class. + + The type. + + + + Logs the specified message. + + The message. + The exception. + + + + Logs the format. + + The message. + The args. + + + + Logs the specified message. + + The message. + + + + Base interface all webservices need to implement. + For simplicity this is the only interface you need to implement + + + + + + The HTTP Response Status Code + + + + + The HTTP Status Description + + + + + The HTTP Response ContentType + + + + + Additional HTTP Headers + + + + + Response DTO + + + + + A specific template, if not the default (for HTML, Markdown, etc. ContentTypes) + + + + + if not provided, get's injected by ServiceStack + + + + + Holds the request call context + + + + + Resolve a dependency from the AppHost's IOC + + + + + + + Pipeline interface shared by typed and non-typed pipelines + + + + + Interface to operations that allow queued commands to be completed + + + + + The same functionality is on IServiceResolver + + + + + Creates a Debug Logger, that logs all messages to: System.Diagnostics.Debug + + Made public so its testable + + + + + This instructs the generator tool to generate translator extension methods for the types supplied. + A {TypeName}.generated.cs static class will be generated that contains the extension methods required + to generate to and from that type. + + The source type is what the type the attribute is decorated on which can only be resolved at runtime. + + + + + Utility interface that implements all Rest operations + + + + + + If the Service also implements this interface, + IRestGetService.Get() will be used instead of IService.Execute() for + EndpointAttributes.HttpGet requests + + + + + + If the Service also implements this interface, + IRestPostService.Post() will be used instead of IService.Execute() for + EndpointAttributes.HttpPost requests + + + + + + If the Service also implements this interface, + IRestDeleteService.Delete() will be used instead of IService.Execute() for + EndpointAttributes.HttpDelete requests + + + + + + If the Service also implements this interface, + IRestPutService.Patch() will be used instead of IService.Execute() for + EndpointAttributes.HttpPatch requests + + + + + + Interface to redis typed pipeline + + + + + interface to queueable operation using typed redis client + + + + + + Publish the specified message into the durable queue @queueName + + + + + + + Publish the specified message into the transient queue @queueName + + + + + + + Synchronous blocking get. + + + + + + + + Non blocking get message + + + + + + + Blocking wait for notifications on any of the supplied channels + + + + + + + Logging API for this library. You can inject your own implementation otherwise + will use the DebugLogFactory to write to System.Diagnostics.Debug + + + + + Gets the logger. + + The type. + + + + + Gets the logger. + + Name of the type. + + + + + Gets or sets the log factory. + Use this to override the factory that is used to create loggers + + The log factory. + + + + Sends the specified request. + + The request. + + + + + Common ResponseStatus class that should be present on all response DTO's + + + + + Initializes a new instance of the class. + + A response status without an errorcode == success + + + + + Initializes a new instance of the class. + + A response status with an errorcode == failure + + + + + Initializes a new instance of the class. + + A response status with an errorcode == failure + + + + + Holds the custom ErrorCode enum if provided in ValidationException + otherwise will hold the name of the Exception type, e.g. typeof(Exception).Name + + A value of non-null means the service encountered an error while processing the request. + + + + + A human friendly error message + + + + + + + + + + For multiple detailed validation errors. + Can hold a specific error message for each named field. + + + + + Log every service request + + + + + Log a request + + + + + + + Returns a Read/Write client (The default) using the hosts defined in ReadWriteHosts + + + + + + Returns a ReadOnly client using the hosts defined in ReadOnlyHosts. + + + + + + Returns a Read/Write ICacheClient (The default) using the hosts defined in ReadWriteHosts + + + + + + Returns a ReadOnly ICacheClient using the hosts defined in ReadOnlyHosts. + + + + + + Basic implementation of IMessage[T] + + + + + + Tests logger which stores all log messages in a member list which can be examined later + + Made public so its testable + + + + + Initializes a new instance of the class. + + The type. + + + + Initializes a new instance of the class. + + The type. + + + + Logs the specified message. + + The message. + The exception. + + + + Logs the format. + + The message. + The args. + + + + Logs the specified message. + + The message. + + + + Allow the registration of user-defined routes for services + + + + + Maps the specified REST path to the specified request DTO. + + The type of request DTO to map + the path to. + The path to map the request DTO to. + See RestServiceAttribute.Path + for details on the correct format. + The same instance; + never . + + + + Maps the specified REST path to the specified request DTO, and + specifies the HTTP verbs supported by the path. + + The type of request DTO to map + the path to. + The path to map the request DTO to. + See RestServiceAttribute.Path + for details on the correct format. + + The comma-delimited list of HTTP verbs supported by the path, + such as "GET,PUT,DELETE". Specify empty or + to indicate that all verbs are supported. + + The same instance; + never . + + + + Maps the specified REST path to the specified request DTO, + specifies the HTTP verbs supported by the path, and indicates + the default MIME type of the returned response. + + The type of request DTO to map + the path to. + The path to map the request DTO to. + See RestServiceAttribute.Path + for details on the correct format. + + The comma-delimited list of HTTP verbs supported by the path, + such as "GET,PUT,DELETE". + + + The default MIME type in which the response object returned to the client + is formatted, if formatting hints are not provided by the client. + Specify or empty to require formatting hints from + the client. + + The same instance; + never . + + + + Maps the specified REST path to the specified request DTO, + specifies the HTTP verbs supported by the path, and indicates + the default MIME type of the returned response. + + + The type of request DTO to map the path to. + + The path to map the request DTO to. + See RestServiceAttribute.Path + for details on the correct format. + + The comma-delimited list of HTTP verbs supported by the path, + such as "GET,PUT,DELETE". + + + The default MIME type in which the response object returned to the client + is formatted, if formatting hints are not provided by the client. + Specify or empty to require formatting hints from + the client. + + The same instance; + never . + + + + A light interface over a cache client. + This interface was inspired by Enyim.Caching.MemcachedClient + + Only the methods that are intended to be used are required, if you require + extra functionality you can uncomment the unused methods below as they have been + implemented in DdnMemcachedClient + + + + + Removes the specified item from the cache. + + The identifier for the item to delete. + + true if the item was successfully removed from the cache; false otherwise. + + + + + Removes the cache for all the keys provided. + + The keys. + + + + Retrieves the specified item from the cache. + + The identifier for the item to retrieve. + + The retrieved item, or null if the key was not found. + + + + + Increments the value of the specified key by the given amount. The operation is atomic and happens on the server. + + The identifier for the item to increment. + The amount by which the client wants to increase the item. + + The new value of the item or -1 if not found. + + The item must be inserted into the cache before it can be changed. The item must be inserted as a . The operation only works with values, so -1 always indicates that the item was not found. + + + + Increments the value of the specified key by the given amount. The operation is atomic and happens on the server. + + The identifier for the item to increment. + The amount by which the client wants to decrease the item. + + The new value of the item or -1 if not found. + + The item must be inserted into the cache before it can be changed. The item must be inserted as a . The operation only works with values, so -1 always indicates that the item was not found. + + + + Inserts an item into the cache with a cache key to reference its location. + + The key used to reference the item. + The object to be inserted into the cache. + + true if the item was successfully stored in the cache; false otherwise. + + The item does not expire unless it is removed due memory pressure. + + + + Inserts an item into the cache with a cache key to reference its location. + + The key used to reference the item. + The object to be inserted into the cache. + The time when the item is invalidated in the cache. + true if the item was successfully stored in the cache; false otherwise. + + + + Removes all data from the cache. + + + + + Retrieves multiple items from the cache. + + The list of identifiers for the items to retrieve. + + a Dictionary holding all items indexed by their key. + + + + + Base transaction interface, shared by typed and non-typed transactions + + + + + Redis transaction for typed client + + + + + + Default logger is to System.Diagnostics.Debug.WriteLine + + Made public so its testable + + + + + Initializes a new instance of the class. + + The type. + + + + Initializes a new instance of the class. + + The type. + + + + Logs the specified message. + + The message. + The exception. + + + + Logs the format. + + The message. + The args. + + + + Logs the specified message. + + The message. + + + + For providers that want a cleaner API with a little more perf + + + + + + Allow delegation of dependencies to other IOC's + + + + + Resolve Property Dependency + + + + + + + Resolve Constructor Dependency + + + + + + + An Error Message Type that can be easily serialized + + + + + Simple definition of an MQ Host + + + + + Register DTOs and hanlders the MQ Host will process + + + + + + + Register DTOs and hanlders the MQ Host will process + + + + + + + + Get Total Current Stats for all Message Handlers + + + + + + Get a Stats dump + + + + + + Start the MQ Host if not already started. + + + + + Stop the MQ Host if not already stopped. + + + + + Factory to create consumers and producers that work with this service + + + + + Default logger is to System.Diagnostics.Debug.Print + + Made public so its testable + + + + + Initializes a new instance of the class. + + The type. + + + + Initializes a new instance of the class. + + The type. + + + + Logs the specified message. + + The message. + The exception. + + + + Logs the format. + + The message. + The args. + + + + Logs the specified message. + + The message. + + + + Manages a connection to a persistance provider + + + + + This changes the default behaviour for the + + + + + Used to decorate Request DTO's to associate a RESTful request + path mapping with a service. Multiple attributes can be applied to + each request DTO, to map multiple paths to the service. + + + + + Initializes an instance of the class. + + + The path template to map to the request. See + RestServiceAttribute.Path + for details on the correct format. + + + + + Initializes an instance of the class. + + + The path template to map to the request. See + RestServiceAttribute.Path + for details on the correct format. + + A comma-delimited list of HTTP verbs supported by the + service. If unspecified, all verbs are assumed to be supported. + + + + Initializes an instance of the class. + + + The path template to map to the request. See + RestServiceAttribute.Path + for details on the correct format. + + A comma-delimited list of HTTP verbs supported by the + service. If unspecified, all verbs are assumed to be supported. + The default MIME type in which the response + object returned to the client is formatted, if formatting hints are unspecified + in the URL. Specify or empty to require formatting + hints from the client. + + + + Gets or sets the path template to be mapped to the request. + + + A value providing the path mapped to + the request. Never . + + + Some examples of valid paths are: + + + "/Inventory" + "/Inventory/{Category}/{ItemId}" + "/Inventory/{ItemPath*}" + + + Variables are specified within "{}" + brackets. Each variable in the path is mapped to the same-named property + on the request DTO. At runtime, ServiceStack will parse the + request URL, extract the variable values, instantiate the request DTO, + and assign the variable values into the corresponding request properties, + prior to passing the request DTO to the service object for processing. + + It is not necessary to specify all request properties as + variables in the path. For unspecified properties, callers may provide + values in the query string. For example: the URL + "http://services/Inventory?Category=Books&ItemId=12345" causes the same + request DTO to be processed as "http://services/Inventory/Books/12345", + provided that the paths "/Inventory" (which supports the first URL) and + "/Inventory/{Category}/{ItemId}" (which supports the second URL) + are both mapped to the request DTO. + + Please note that while it is possible to specify property values + in the query string, it is generally considered to be less RESTful and + less desirable than to specify them as variables in the path. Using the + query string to specify property values may also interfere with HTTP + caching. + + The final variable in the path may contain a "*" suffix + to grab all remaining segments in the path portion of the request URL and assign + them to a single property on the request DTO. + For example, if the path "/Inventory/{ItemPath*}" is mapped to the request DTO, + then the request URL "http://services/Inventory/Books/12345" will result + in a request DTO whose ItemPath property contains "Books/12345". + You may only specify one such variable in the path, and it must be positioned at + the end of the path. + + + + + Gets or sets a comma-delimited list of HTTP verbs supported by the service, such as + "GET,PUT,POST,DELETE". + + + A providing a comma-delimited list of HTTP verbs supported + by the service, or empty if all verbs are supported. + + + + + Gets or sets the default MIME type in which the response + object returned to the client is formatted, when format hints + are not provided in the URI. Some valid examples are such as + "application/json", or "application/xml". + + + A providing the default MIME type of the response; + or empty if formatting hints are required + from the client. + + + + + Interface to redis transaction + + + + + A common interface implementation that is implemeneted by most cache providers + + + + + Removes the specified item from the cache. + + The identifier for the item to delete. + + true if the item was successfully removed from the cache; false otherwise. + + + + + Removes the cache for all the keys provided. + + The keys. + + + + Retrieves the specified item from the cache. + + + The identifier for the item to retrieve. + + The retrieved item, or null if the key was not found. + + + + + Increments the value of the specified key by the given amount. + The operation is atomic and happens on the server. + A non existent value at key starts at 0 + + The identifier for the item to increment. + The amount by which the client wants to increase the item. + + The new value of the item or -1 if not found. + + The item must be inserted into the cache before it can be changed. The item must be inserted as a . The operation only works with values, so -1 always indicates that the item was not found. + + + + Increments the value of the specified key by the given amount. + The operation is atomic and happens on the server. + A non existent value at key starts at 0 + + The identifier for the item to increment. + The amount by which the client wants to decrease the item. + + The new value of the item or -1 if not found. + + The item must be inserted into the cache before it can be changed. The item must be inserted as a . The operation only works with values, so -1 always indicates that the item was not found. + + + + Adds a new item into the cache at the specified cache key only if the cache is empty. + + The key used to reference the item. + The object to be inserted into the cache. + + true if the item was successfully stored in the cache; false otherwise. + + The item does not expire unless it is removed due memory pressure. + + + + Sets an item into the cache at the cache key specified regardless if it already exists or not. + + + + + Replaces the item at the cachekey specified only if an items exists at the location already. + + + + + Invalidates all data on the cache. + + + + + + Sets multiple items to the cache. + + + The values. + + + + Used to decorate Request DTO's to alter the behaviour of a service. + + + + + Sets a single access restriction + + The restrict access to. + + + + Set multiple access scenarios + + The restrict access to scenarios. + + + + If the Service also implements this interface, + IAsyncService.ExecuteAsync() will be used instead of IService.Execute() for + EndpointAttributes.AsyncOneWay requests + + + + + + Interface to redis pipeline + + + + + Creates a Debug Logger, that logs all messages to: System.Diagnostics.Debug + + Made public so its testable + + + + + Returns a Read/Write client (The default) using the hosts defined in ReadWriteHosts + + + + + + Returns a ReadOnly client using the hosts defined in ReadOnlyHosts. + + + + + + Returns a Read/Write ICacheClient (The default) using the hosts defined in ReadWriteHosts + + + + + + Returns a ReadOnly ICacheClient using the hosts defined in ReadOnlyHosts. + + + + + + Util static generic class to create unique queue names for types + + + + + + Util class to create unique queue names for runtime types + + + + + Responsible for executing the operation within the specified context. + + The operation types. + + + + Returns the first matching RestPath + + + + + + + + Executes the DTO request under the supplied requestContext. + + + + + + + + Returns a list of operation types available in this service + + The operation types. + + + + Returns a list of ALL operation types available in this service + + The operation types. + + + + Allow the registration of custom routes + + + + + Implement on services that need access to the RequestContext + + + + + Creates a test Logger, that stores all log messages in a member list + + + + + A Users Session + + + + + Set a typed value at key + + + + + + + + Get a typed value at key + + + + + + + + Store any object at key + + + + + + diff --git a/packages/ServiceStack.Common.3.9.25/lib/sl5/README.txt b/packages/ServiceStack.Common.3.9.25/lib/sl5/README.txt new file mode 100644 index 000000000..6e4324a14 --- /dev/null +++ b/packages/ServiceStack.Common.3.9.25/lib/sl5/README.txt @@ -0,0 +1,3 @@ +ServiceStack Client builds for Silverlight. + +Due to restrictions in Silverlight only the Async operations are supported. \ No newline at end of file diff --git a/packages/ServiceStack.Common.3.9.25/lib/sl5/ServiceStack.Common.dll b/packages/ServiceStack.Common.3.9.25/lib/sl5/ServiceStack.Common.dll new file mode 100644 index 000000000..f55c1b7e4 Binary files /dev/null and b/packages/ServiceStack.Common.3.9.25/lib/sl5/ServiceStack.Common.dll differ diff --git a/packages/ServiceStack.Common.3.9.25/lib/sl5/ServiceStack.Common.xml b/packages/ServiceStack.Common.3.9.25/lib/sl5/ServiceStack.Common.xml new file mode 100644 index 000000000..68425b9eb --- /dev/null +++ b/packages/ServiceStack.Common.3.9.25/lib/sl5/ServiceStack.Common.xml @@ -0,0 +1,475 @@ + + + + ServiceStack.Common + + + + + The exception which is thrown when a validation error occured. + This validation is serialized in a extra clean and human-readable way by ServiceStack. + + + + + Used if we need to serialize this exception to XML + + + + + + Returns the first error code + + The error code. + + + Need to provide async request options + http://msdn.microsoft.com/en-us/library/86wf6409(VS.71).aspx + + + + Sets the username and the password for basic authentication. + + + + + Specifies if cookies should be stored + + + + + The request filter is called before any request. + This request filter is executed globally. + + + + + The user name for basic authentication + + + + + The password for basic authentication + + + + + Gets or sets authentication information for the request. + Warning: It's recommened to use and for basic auth. + This property is only used for IIS level authentication. + + + + + Determines if the basic auth header should be sent with every request. + By default, the basic auth header is only sent when "401 Unauthorized" is returned. + + + + + The request filter is called before any request. + This request filter only works with the instance where it was set (not global). + + + + + Encapsulates creating a new message handler + + + + + Useful IPAddressExtensions from: + http://blogs.msdn.com/knom/archive/2008/12/31/ip-address-calculations-with-c-subnetmasks-networks.aspx + + + + + + Gets the ipv4 addresses from all Network Interfaces that have Subnet masks. + + + + + + Gets the ipv6 addresses from all Network Interfaces. + + + + + + These extensions have a potential to conflict with the LINQ extensions methods so + leaving the implmentation in the 'Extensions' sub-namespace to force explicit opt-in + + + + + + Invokes the action provided and returns true if no excpetion was thrown. + Otherwise logs the exception and returns false if an exception was thrown. + + The action. + + + + + Contains methods required for encoding and decoding rcon packets. + + + + + Decodes a packet. + + The packet. + A packet object. + + + + Decodes the packet header. + + + + + + + Decodes words in a packet. + + + + + + + Encodes a packet for transmission to the server. + + + + + + + + + + Encodes a packet header. + + + + + + + + + Encodes words. + + + + + + + Maps the path of a file in the context of a VS project + + the relative path + the absolute path + Assumes static content is two directories above the /bin/ directory, + eg. in a unit test scenario the assembly would be in /bin/Debug/. + + + + Maps the path of a file in a self-hosted scenario + + the relative path + the absolute path + Assumes static content is copied to /bin/ folder with the assemblies + + + + Maps the path of a file in an Asp.Net hosted scenario + + the relative path + the absolute path + Assumes static content is in the parent folder of the /bin/ directory + + + + Encapsulates a validation result. + + + + + Constructs a new ValidationResult + + + + + Constructs a new ValidationResult + + A list of validation results + + + + Initializes a new instance of the class. + + The errors. + The success code. + The error code. + + + + Gets or sets the success code. + + The success code. + + + + Gets or sets the error code. + + The error code. + + + + Gets or sets the success message. + + The success message. + + + + Gets or sets the error message. + + The error message. + + + + The errors generated by the validation. + + + + + Returns True if the validation was successful (errors list is empty). + + + + + Populate an object with Example data. + + + + + + + Populates the object with example data. + + + Tracks how deeply nested we are + + + + + Processes all messages in a Normal and Priority Queue. + Expects to be called in 1 thread. i.e. Non Thread-Safe. + + + + + + Single threaded message handler that can process all messages + of a particular message type. + + + + + Process all messages pending + + + + + + Get Current Stats for this Message Handler + + + + + + The type of the message this handler processes + + + + + Gets the textual description of the enum if it has one. e.g. + + + enum UserColors + { + [Description("Bright Red")] + BrightRed + } + UserColors.BrightRed.ToDescription(); + + + + + + + + True if the packet originated on the server. + + + + + True if the packet is a response from a sent packet. + + + + + Sequence identifier. Unique to the connection. + + + + + Words. + + + + + Creates a Unified Resource Name (URN) with the following formats: + + - urn:{TypeName}:{IdFieldValue} e.g. urn:UserSession:1 + - urn:{TypeName}:{IdFieldName}:{IdFieldValue} e.g. urn:UserSession:UserId:1 + + + + + + Common functionality when creating adapters + + + + + Executes the specified expression. + + + The action. + + + + + Executes the specified action (for void methods). + + The action. + + + Need to provide async request options + http://msdn.microsoft.com/en-us/library/86wf6409(VS.71).aspx + + + + Default MaxStringContentLength is 8k, and throws an exception when reached + + + + + Func to get the Strongly-typed field + + + + + Required to cast the return ValueType to an object for caching + + + + + Func to set the Strongly-typed field + + + + + Required to cast the ValueType to an object for caching + + + + + Required to cast the ValueType to an object for caching + + + + + Executes the specified action. + + + The action. + + + + + Gets the current context (or null if none). + + + + + Checks if the current context is set to "initialize only". + + + + + Determines whether this context is initialise only or not + + + + + Constructs a new InitialiseOnlyContext + + + + + Call to remove this current context and reveal the previous context (if any). + + + + + Gets or sets the object that has been initialized only. + + + + + Serializer cache of delegates required to create a type from a string map (e.g. for REST urls) + + + + + Provide the an option for the callee to block until all commands are executed + + + + + + + Note: InMemoryLog keeps all logs in memory, so don't use it long running exceptions + + Returns a thread-safe InMemoryLog which you can use while *TESTING* + to provide a detailed analysis of your logs. + + + + + Func to get the Strongly-typed field + + + + + Required to cast the return ValueType to an object for caching + + + + + Func to set the Strongly-typed field + + + + + Required to cast the ValueType to an object for caching + + + + + Required to cast the ValueType to an object for caching + + + + diff --git a/packages/ServiceStack.Common.3.9.25/lib/sl5/ServiceStack.Interfaces.dll b/packages/ServiceStack.Common.3.9.25/lib/sl5/ServiceStack.Interfaces.dll new file mode 100644 index 000000000..d0027388c Binary files /dev/null and b/packages/ServiceStack.Common.3.9.25/lib/sl5/ServiceStack.Interfaces.dll differ diff --git a/packages/ServiceStack.Common.3.9.25/lib/sl5/ServiceStack.Interfaces.xml b/packages/ServiceStack.Common.3.9.25/lib/sl5/ServiceStack.Interfaces.xml new file mode 100644 index 000000000..47c34dfd4 --- /dev/null +++ b/packages/ServiceStack.Common.3.9.25/lib/sl5/ServiceStack.Interfaces.xml @@ -0,0 +1,1343 @@ + + + + ServiceStack.Interfaces + + + + + This instructs the generator tool to generate translator methods for the types supplied. + A {TypeName}.generated.cs partial class will be generated that contains the methods required + to generate to and from that type. + + + + + Error information pertaining to a particular named field. + Used for returning multiple field validation errors.s + + + + + If the Service also implements this interface, + IRestPutService.Put() will be used instead of IService.Execute() for + EndpointAttributes.HttpPut requests + + + + + + A thin wrapper around ASP.NET or HttpListener's HttpResponse + + + + + Signal that this response has been handled and no more processing should be done. + When used in a request or response filter, no more filters or processing is done on this request. + + + + + Calls Response.End() on ASP.NET HttpResponse otherwise is an alias for Close(). + Useful when you want to prevent ASP.NET to provide it's own custom error page. + + + + + Response.Flush() and OutputStream.Flush() seem to have different behaviour in ASP.NET + + + + + The underlying ASP.NET or HttpListener HttpResponse + + + + + Gets a value indicating whether this instance is closed. + + + + + Subscribe to channels by name + + + + + + Subscribe to channels matching the supplied patterns + + + + + + The number of active subscriptions this client has + + + + + Registered handler called after client *Subscribes* to each new channel + + + + + Registered handler called when each message is received + + + + + Registered handler called when each channel is unsubscribed + + + + + Wrap the common redis list operations under a IList[string] interface. + + + + + Creates a Debug Logger, that logs all messages to: System.Diagnostics.Debug + + Made public so its testable + + + + + Factory to create ILog instances + + + + + Gets the logger. + + The type. + + + + + Gets the logger. + + Name of the type. + + + + + Contract indication that the Response DTO has a ResponseStatus + + + + + interface to operation that can queue commands + + + + + For messaging exceptions that should by-pass the messaging service's configured + retry attempts and store the message straight into the DLQ + + + + + Base Exception for all ServiceStack.Messaging exceptions + + + + + Default logger is to Console.WriteLine + + Made public so its testable + + + + + Logs a message in a running application + + + + + Logs a Debug message. + + The message. + + + + Logs a Debug message and exception. + + The message. + The exception. + + + + Logs a Debug format message. + + The format. + The args. + + + + Logs a Error message. + + The message. + + + + Logs a Error message and exception. + + The message. + The exception. + + + + Logs a Error format message. + + The format. + The args. + + + + Logs a Fatal message. + + The message. + + + + Logs a Fatal message and exception. + + The message. + The exception. + + + + Logs a Error format message. + + The format. + The args. + + + + Logs an Info message and exception. + + The message. + + + + Logs an Info message and exception. + + The message. + The exception. + + + + Logs an Info format message. + + The format. + The args. + + + + Logs a Warning message. + + The message. + + + + Logs a Warning message and exception. + + The message. + The exception. + + + + Logs a Warning format message. + + The format. + The args. + + + + Gets or sets a value indicating whether this instance is debug enabled. + + + true if this instance is debug enabled; otherwise, false. + + + + + Initializes a new instance of the class. + + The type. + + + + Initializes a new instance of the class. + + The type. + + + + Logs the specified message. + + The message. + The exception. + + + + Logs the format. + + The message. + The args. + + + + Logs the specified message. + + The message. + + + + Base interface all webservices need to implement. + For simplicity this is the only interface you need to implement + + + + + + The HTTP Response Status Code + + + + + The HTTP Status Description + + + + + The HTTP Response ContentType + + + + + Additional HTTP Headers + + + + + Response DTO + + + + + A specific template, if not the default (for HTML, Markdown, etc. ContentTypes) + + + + + if not provided, get's injected by ServiceStack + + + + + Holds the request call context + + + + + Resolve a dependency from the AppHost's IOC + + + + + + + Pipeline interface shared by typed and non-typed pipelines + + + + + Interface to operations that allow queued commands to be completed + + + + + The same functionality is on IServiceResolver + + + + + Creates a Debug Logger, that logs all messages to: System.Diagnostics.Debug + + Made public so its testable + + + + + This instructs the generator tool to generate translator extension methods for the types supplied. + A {TypeName}.generated.cs static class will be generated that contains the extension methods required + to generate to and from that type. + + The source type is what the type the attribute is decorated on which can only be resolved at runtime. + + + + + Utility interface that implements all Rest operations + + + + + + If the Service also implements this interface, + IRestGetService.Get() will be used instead of IService.Execute() for + EndpointAttributes.HttpGet requests + + + + + + If the Service also implements this interface, + IRestPostService.Post() will be used instead of IService.Execute() for + EndpointAttributes.HttpPost requests + + + + + + If the Service also implements this interface, + IRestDeleteService.Delete() will be used instead of IService.Execute() for + EndpointAttributes.HttpDelete requests + + + + + + If the Service also implements this interface, + IRestPutService.Patch() will be used instead of IService.Execute() for + EndpointAttributes.HttpPatch requests + + + + + + Interface to redis typed pipeline + + + + + interface to queueable operation using typed redis client + + + + + + Publish the specified message into the durable queue @queueName + + + + + + + Publish the specified message into the transient queue @queueName + + + + + + + Synchronous blocking get. + + + + + + + + Non blocking get message + + + + + + + Blocking wait for notifications on any of the supplied channels + + + + + + + Logging API for this library. You can inject your own implementation otherwise + will use the DebugLogFactory to write to System.Diagnostics.Debug + + + + + Gets the logger. + + The type. + + + + + Gets the logger. + + Name of the type. + + + + + Gets or sets the log factory. + Use this to override the factory that is used to create loggers + + The log factory. + + + + Sends the specified request. + + The request. + + + + + Common ResponseStatus class that should be present on all response DTO's + + + + + Initializes a new instance of the class. + + A response status without an errorcode == success + + + + + Initializes a new instance of the class. + + A response status with an errorcode == failure + + + + + Initializes a new instance of the class. + + A response status with an errorcode == failure + + + + + Holds the custom ErrorCode enum if provided in ValidationException + otherwise will hold the name of the Exception type, e.g. typeof(Exception).Name + + A value of non-null means the service encountered an error while processing the request. + + + + + A human friendly error message + + + + + + + + + + For multiple detailed validation errors. + Can hold a specific error message for each named field. + + + + + Log every service request + + + + + Log a request + + + + + + + Returns a Read/Write client (The default) using the hosts defined in ReadWriteHosts + + + + + + Returns a ReadOnly client using the hosts defined in ReadOnlyHosts. + + + + + + Returns a Read/Write ICacheClient (The default) using the hosts defined in ReadWriteHosts + + + + + + Returns a ReadOnly ICacheClient using the hosts defined in ReadOnlyHosts. + + + + + + Basic implementation of IMessage[T] + + + + + + Tests logger which stores all log messages in a member list which can be examined later + + Made public so its testable + + + + + Initializes a new instance of the class. + + The type. + + + + Initializes a new instance of the class. + + The type. + + + + Logs the specified message. + + The message. + The exception. + + + + Logs the format. + + The message. + The args. + + + + Logs the specified message. + + The message. + + + + Allow the registration of user-defined routes for services + + + + + Maps the specified REST path to the specified request DTO. + + The type of request DTO to map + the path to. + The path to map the request DTO to. + See RestServiceAttribute.Path + for details on the correct format. + The same instance; + never . + + + + Maps the specified REST path to the specified request DTO, and + specifies the HTTP verbs supported by the path. + + The type of request DTO to map + the path to. + The path to map the request DTO to. + See RestServiceAttribute.Path + for details on the correct format. + + The comma-delimited list of HTTP verbs supported by the path, + such as "GET,PUT,DELETE". Specify empty or + to indicate that all verbs are supported. + + The same instance; + never . + + + + Maps the specified REST path to the specified request DTO, + specifies the HTTP verbs supported by the path, and indicates + the default MIME type of the returned response. + + The type of request DTO to map + the path to. + The path to map the request DTO to. + See RestServiceAttribute.Path + for details on the correct format. + + The comma-delimited list of HTTP verbs supported by the path, + such as "GET,PUT,DELETE". + + + The default MIME type in which the response object returned to the client + is formatted, if formatting hints are not provided by the client. + Specify or empty to require formatting hints from + the client. + + The same instance; + never . + + + + Maps the specified REST path to the specified request DTO, + specifies the HTTP verbs supported by the path, and indicates + the default MIME type of the returned response. + + + The type of request DTO to map the path to. + + The path to map the request DTO to. + See RestServiceAttribute.Path + for details on the correct format. + + The comma-delimited list of HTTP verbs supported by the path, + such as "GET,PUT,DELETE". + + + The default MIME type in which the response object returned to the client + is formatted, if formatting hints are not provided by the client. + Specify or empty to require formatting hints from + the client. + + The same instance; + never . + + + + A light interface over a cache client. + This interface was inspired by Enyim.Caching.MemcachedClient + + Only the methods that are intended to be used are required, if you require + extra functionality you can uncomment the unused methods below as they have been + implemented in DdnMemcachedClient + + + + + Removes the specified item from the cache. + + The identifier for the item to delete. + + true if the item was successfully removed from the cache; false otherwise. + + + + + Removes the cache for all the keys provided. + + The keys. + + + + Retrieves the specified item from the cache. + + The identifier for the item to retrieve. + + The retrieved item, or null if the key was not found. + + + + + Increments the value of the specified key by the given amount. The operation is atomic and happens on the server. + + The identifier for the item to increment. + The amount by which the client wants to increase the item. + + The new value of the item or -1 if not found. + + The item must be inserted into the cache before it can be changed. The item must be inserted as a . The operation only works with values, so -1 always indicates that the item was not found. + + + + Increments the value of the specified key by the given amount. The operation is atomic and happens on the server. + + The identifier for the item to increment. + The amount by which the client wants to decrease the item. + + The new value of the item or -1 if not found. + + The item must be inserted into the cache before it can be changed. The item must be inserted as a . The operation only works with values, so -1 always indicates that the item was not found. + + + + Inserts an item into the cache with a cache key to reference its location. + + The key used to reference the item. + The object to be inserted into the cache. + + true if the item was successfully stored in the cache; false otherwise. + + The item does not expire unless it is removed due memory pressure. + + + + Inserts an item into the cache with a cache key to reference its location. + + The key used to reference the item. + The object to be inserted into the cache. + The time when the item is invalidated in the cache. + true if the item was successfully stored in the cache; false otherwise. + + + + Removes all data from the cache. + + + + + Retrieves multiple items from the cache. + + The list of identifiers for the items to retrieve. + + a Dictionary holding all items indexed by their key. + + + + + Base transaction interface, shared by typed and non-typed transactions + + + + + Redis transaction for typed client + + + + + + Default logger is to System.Diagnostics.Debug.WriteLine + + Made public so its testable + + + + + Initializes a new instance of the class. + + The type. + + + + Initializes a new instance of the class. + + The type. + + + + Logs the specified message. + + The message. + The exception. + + + + Logs the format. + + The message. + The args. + + + + Logs the specified message. + + The message. + + + + For providers that want a cleaner API with a little more perf + + + + + + Allow delegation of dependencies to other IOC's + + + + + Resolve Property Dependency + + + + + + + Resolve Constructor Dependency + + + + + + + An Error Message Type that can be easily serialized + + + + + Simple definition of an MQ Host + + + + + Register DTOs and hanlders the MQ Host will process + + + + + + + Register DTOs and hanlders the MQ Host will process + + + + + + + + Get Total Current Stats for all Message Handlers + + + + + + Get a Stats dump + + + + + + Start the MQ Host if not already started. + + + + + Stop the MQ Host if not already stopped. + + + + + Factory to create consumers and producers that work with this service + + + + + Default logger is to System.Diagnostics.Debug.Print + + Made public so its testable + + + + + Initializes a new instance of the class. + + The type. + + + + Initializes a new instance of the class. + + The type. + + + + Logs the specified message. + + The message. + The exception. + + + + Logs the format. + + The message. + The args. + + + + Logs the specified message. + + The message. + + + + Manages a connection to a persistance provider + + + + + This changes the default behaviour for the + + + + + Used to decorate Request DTO's to associate a RESTful request + path mapping with a service. Multiple attributes can be applied to + each request DTO, to map multiple paths to the service. + + + + + Initializes an instance of the class. + + + The path template to map to the request. See + RestServiceAttribute.Path + for details on the correct format. + + + + + Initializes an instance of the class. + + + The path template to map to the request. See + RestServiceAttribute.Path + for details on the correct format. + + A comma-delimited list of HTTP verbs supported by the + service. If unspecified, all verbs are assumed to be supported. + + + + Initializes an instance of the class. + + + The path template to map to the request. See + RestServiceAttribute.Path + for details on the correct format. + + A comma-delimited list of HTTP verbs supported by the + service. If unspecified, all verbs are assumed to be supported. + The default MIME type in which the response + object returned to the client is formatted, if formatting hints are unspecified + in the URL. Specify or empty to require formatting + hints from the client. + + + + Gets or sets the path template to be mapped to the request. + + + A value providing the path mapped to + the request. Never . + + + Some examples of valid paths are: + + + "/Inventory" + "/Inventory/{Category}/{ItemId}" + "/Inventory/{ItemPath*}" + + + Variables are specified within "{}" + brackets. Each variable in the path is mapped to the same-named property + on the request DTO. At runtime, ServiceStack will parse the + request URL, extract the variable values, instantiate the request DTO, + and assign the variable values into the corresponding request properties, + prior to passing the request DTO to the service object for processing. + + It is not necessary to specify all request properties as + variables in the path. For unspecified properties, callers may provide + values in the query string. For example: the URL + "http://services/Inventory?Category=Books&ItemId=12345" causes the same + request DTO to be processed as "http://services/Inventory/Books/12345", + provided that the paths "/Inventory" (which supports the first URL) and + "/Inventory/{Category}/{ItemId}" (which supports the second URL) + are both mapped to the request DTO. + + Please note that while it is possible to specify property values + in the query string, it is generally considered to be less RESTful and + less desirable than to specify them as variables in the path. Using the + query string to specify property values may also interfere with HTTP + caching. + + The final variable in the path may contain a "*" suffix + to grab all remaining segments in the path portion of the request URL and assign + them to a single property on the request DTO. + For example, if the path "/Inventory/{ItemPath*}" is mapped to the request DTO, + then the request URL "http://services/Inventory/Books/12345" will result + in a request DTO whose ItemPath property contains "Books/12345". + You may only specify one such variable in the path, and it must be positioned at + the end of the path. + + + + + Gets or sets a comma-delimited list of HTTP verbs supported by the service, such as + "GET,PUT,POST,DELETE". + + + A providing a comma-delimited list of HTTP verbs supported + by the service, or empty if all verbs are supported. + + + + + Gets or sets the default MIME type in which the response + object returned to the client is formatted, when format hints + are not provided in the URI. Some valid examples are such as + "application/json", or "application/xml". + + + A providing the default MIME type of the response; + or empty if formatting hints are required + from the client. + + + + + Interface to redis transaction + + + + + A common interface implementation that is implemeneted by most cache providers + + + + + Removes the specified item from the cache. + + The identifier for the item to delete. + + true if the item was successfully removed from the cache; false otherwise. + + + + + Removes the cache for all the keys provided. + + The keys. + + + + Retrieves the specified item from the cache. + + + The identifier for the item to retrieve. + + The retrieved item, or null if the key was not found. + + + + + Increments the value of the specified key by the given amount. + The operation is atomic and happens on the server. + A non existent value at key starts at 0 + + The identifier for the item to increment. + The amount by which the client wants to increase the item. + + The new value of the item or -1 if not found. + + The item must be inserted into the cache before it can be changed. The item must be inserted as a . The operation only works with values, so -1 always indicates that the item was not found. + + + + Increments the value of the specified key by the given amount. + The operation is atomic and happens on the server. + A non existent value at key starts at 0 + + The identifier for the item to increment. + The amount by which the client wants to decrease the item. + + The new value of the item or -1 if not found. + + The item must be inserted into the cache before it can be changed. The item must be inserted as a . The operation only works with values, so -1 always indicates that the item was not found. + + + + Adds a new item into the cache at the specified cache key only if the cache is empty. + + The key used to reference the item. + The object to be inserted into the cache. + + true if the item was successfully stored in the cache; false otherwise. + + The item does not expire unless it is removed due memory pressure. + + + + Sets an item into the cache at the cache key specified regardless if it already exists or not. + + + + + Replaces the item at the cachekey specified only if an items exists at the location already. + + + + + Invalidates all data on the cache. + + + + + + Sets multiple items to the cache. + + + The values. + + + + Used to decorate Request DTO's to alter the behaviour of a service. + + + + + Sets a single access restriction + + The restrict access to. + + + + Set multiple access scenarios + + The restrict access to scenarios. + + + + If the Service also implements this interface, + IAsyncService.ExecuteAsync() will be used instead of IService.Execute() for + EndpointAttributes.AsyncOneWay requests + + + + + + Interface to redis pipeline + + + + + Creates a Debug Logger, that logs all messages to: System.Diagnostics.Debug + + Made public so its testable + + + + + Returns a Read/Write client (The default) using the hosts defined in ReadWriteHosts + + + + + + Returns a ReadOnly client using the hosts defined in ReadOnlyHosts. + + + + + + Returns a Read/Write ICacheClient (The default) using the hosts defined in ReadWriteHosts + + + + + + Returns a ReadOnly ICacheClient using the hosts defined in ReadOnlyHosts. + + + + + + Util static generic class to create unique queue names for types + + + + + + Util class to create unique queue names for runtime types + + + + + Responsible for executing the operation within the specified context. + + The operation types. + + + + Returns the first matching RestPath + + + + + + + + Executes the DTO request under the supplied requestContext. + + + + + + + + Returns a list of operation types available in this service + + The operation types. + + + + Returns a list of ALL operation types available in this service + + The operation types. + + + + Allow the registration of custom routes + + + + + Implement on services that need access to the RequestContext + + + + + Creates a test Logger, that stores all log messages in a member list + + + + + A Users Session + + + + + Set a typed value at key + + + + + + + + Get a typed value at key + + + + + + + + Store any object at key + + + + + + diff --git a/packages/ServiceStack.Mvc.3.9.25/ServiceStack.Mvc.3.9.25.nupkg b/packages/ServiceStack.Mvc.3.9.25/ServiceStack.Mvc.3.9.25.nupkg new file mode 100644 index 000000000..837e8d00c Binary files /dev/null and b/packages/ServiceStack.Mvc.3.9.25/ServiceStack.Mvc.3.9.25.nupkg differ diff --git a/packages/ServiceStack.Mvc.3.9.25/ServiceStack.Mvc.3.9.25.nuspec b/packages/ServiceStack.Mvc.3.9.25/ServiceStack.Mvc.3.9.25.nuspec new file mode 100644 index 000000000..8f563d6b1 --- /dev/null +++ b/packages/ServiceStack.Mvc.3.9.25/ServiceStack.Mvc.3.9.25.nuspec @@ -0,0 +1,25 @@ + + + + ServiceStack.Mvc + 3.9.25 + MVC Adapters for integrating with ServiceStack webservices + Demis Bellot + Demis Bellot + https://github.com/ServiceStack/ServiceStack/blob/master/LICENSE + https://github.com/ServiceStack/ServiceStack + http://www.servicestack.net/logo-100x100.png + false + Full details in Mvc PowerPack: http://servicestack.net/mvc-powerpack/ + Adapter classes to provide tight integration and re-usable functionality between ServiceStack and MVC3. + Including adapters for: MiniProfiler, FluentValidation, Funq IOC Controller Factory, Funq Validator Factory + ControllerBase (configured with access to ServiceStack's ICacheClient, ISession, typed UserSession dependencies). + .NET 4.0 project Integration of ServiceStack with MVC3 + servicestack.net 2012 and contributors + en-US + MiniProfiler FluentValidation MVC Controller + + + + + \ No newline at end of file diff --git a/packages/ServiceStack.Mvc.3.9.25/lib/net40/ServiceStack.FluentValidation.Mvc3.dll b/packages/ServiceStack.Mvc.3.9.25/lib/net40/ServiceStack.FluentValidation.Mvc3.dll new file mode 100644 index 000000000..8ffb27ad0 Binary files /dev/null and b/packages/ServiceStack.Mvc.3.9.25/lib/net40/ServiceStack.FluentValidation.Mvc3.dll differ diff --git a/packages/ServiceStack.OrmLite.SqlServer.3.9.26/ServiceStack.OrmLite.SqlServer.3.9.26.nupkg b/packages/ServiceStack.OrmLite.SqlServer.3.9.26/ServiceStack.OrmLite.SqlServer.3.9.26.nupkg new file mode 100644 index 000000000..bc1826825 Binary files /dev/null and b/packages/ServiceStack.OrmLite.SqlServer.3.9.26/ServiceStack.OrmLite.SqlServer.3.9.26.nupkg differ diff --git a/packages/ServiceStack.OrmLite.SqlServer.3.9.26/ServiceStack.OrmLite.SqlServer.3.9.26.nuspec b/packages/ServiceStack.OrmLite.SqlServer.3.9.26/ServiceStack.OrmLite.SqlServer.3.9.26.nuspec new file mode 100644 index 000000000..45fe5ce46 --- /dev/null +++ b/packages/ServiceStack.OrmLite.SqlServer.3.9.26/ServiceStack.OrmLite.SqlServer.3.9.26.nuspec @@ -0,0 +1,22 @@ + + + + ServiceStack.OrmLite.SqlServer + 3.9.26 + OrmLite.SqlServer - Fast, code-first, config-free Poco ORM + Demis Bellot + Demis Bellot + https://github.com/ServiceStack/ServiceStack.OrmLite/blob/master/LICENSE + https://github.com/ServiceStack/ServiceStack.OrmLite + http://www.servicestack.net/logo-100x100.png + false + Light, simple and fast convention-based code-first POCO ORM for Sql Server. + Support for Creating and Dropping Table Schemas from POCOs, Complex Property types transparently stored in schemaless text blobs in SQLServer. + ServiceStack 2012 and contributors + en-US + SQLServer SQL Server OrmLite POCO Code-First Orm Schema-less Blobs + + + + + \ No newline at end of file diff --git a/packages/ServiceStack.OrmLite.SqlServer.3.9.26/lib/ServiceStack.OrmLite.SqlServer.dll b/packages/ServiceStack.OrmLite.SqlServer.3.9.26/lib/ServiceStack.OrmLite.SqlServer.dll new file mode 100644 index 000000000..fbe44cb9d Binary files /dev/null and b/packages/ServiceStack.OrmLite.SqlServer.3.9.26/lib/ServiceStack.OrmLite.SqlServer.dll differ diff --git a/packages/ServiceStack.OrmLite.SqlServer.3.9.26/lib/ServiceStack.OrmLite.SqlServer.pdb b/packages/ServiceStack.OrmLite.SqlServer.3.9.26/lib/ServiceStack.OrmLite.SqlServer.pdb new file mode 100644 index 000000000..a3a219117 Binary files /dev/null and b/packages/ServiceStack.OrmLite.SqlServer.3.9.26/lib/ServiceStack.OrmLite.SqlServer.pdb differ diff --git a/packages/ServiceStack.OrmLite.SqlServer.3.9.26/lib/ServiceStack.OrmLite.dll b/packages/ServiceStack.OrmLite.SqlServer.3.9.26/lib/ServiceStack.OrmLite.dll new file mode 100644 index 000000000..ccddcfc12 Binary files /dev/null and b/packages/ServiceStack.OrmLite.SqlServer.3.9.26/lib/ServiceStack.OrmLite.dll differ diff --git a/packages/ServiceStack.OrmLite.SqlServer.3.9.26/lib/ServiceStack.OrmLite.pdb b/packages/ServiceStack.OrmLite.SqlServer.3.9.26/lib/ServiceStack.OrmLite.pdb new file mode 100644 index 000000000..5f062bae1 Binary files /dev/null and b/packages/ServiceStack.OrmLite.SqlServer.3.9.26/lib/ServiceStack.OrmLite.pdb differ diff --git a/packages/ServiceStack.Redis.3.9.25/ServiceStack.Redis.3.9.25.nupkg b/packages/ServiceStack.Redis.3.9.25/ServiceStack.Redis.3.9.25.nupkg new file mode 100644 index 000000000..359fc2713 Binary files /dev/null and b/packages/ServiceStack.Redis.3.9.25/ServiceStack.Redis.3.9.25.nupkg differ diff --git a/packages/ServiceStack.Redis.3.9.25/ServiceStack.Redis.3.9.25.nuspec b/packages/ServiceStack.Redis.3.9.25/ServiceStack.Redis.3.9.25.nuspec new file mode 100644 index 000000000..7d5f49308 --- /dev/null +++ b/packages/ServiceStack.Redis.3.9.25/ServiceStack.Redis.3.9.25.nuspec @@ -0,0 +1,22 @@ + + + + ServiceStack.Redis + 3.9.25 + C# Redis client for the Redis NoSQL DB + Demis Bellot + Demis Bellot + https://github.com/ServiceStack/ServiceStack.Redis/blob/master/LICENSE + https://github.com/ServiceStack/ServiceStack.Redis + http://www.servicestack.net/logo-100x100.png + false + C# Redis Client for the worlds fastest distributed NoSQL datastore. Byte[], String and POCO Typed clients. + Thread-Safe Basic and Pooled client managers included. + ServiceStack 2012 and contributors + en-US + Redis NoSQL Client Distributed Cache PubSub Messaging Transactions + + + + + \ No newline at end of file diff --git a/packages/ServiceStack.Redis.3.9.25/lib/net35/ServiceStack.Redis.XML b/packages/ServiceStack.Redis.3.9.25/lib/net35/ServiceStack.Redis.XML new file mode 100644 index 000000000..f93ab7dd4 --- /dev/null +++ b/packages/ServiceStack.Redis.3.9.25/lib/net35/ServiceStack.Redis.XML @@ -0,0 +1,1478 @@ + + + + ServiceStack.Redis + + + + + Enqueue item + + + + + + Dequeue up to maxBatchSize items from queue + + + + + + + Distributed lock interface + + + + + Wrap the common redis list operations under a IList[string] interface. + + + + + The client wraps the native redis operations into a more readable c# API. + + Where possible these operations are also exposed in common c# interfaces, + e.g. RedisClient.Lists => IList[string] + RedisClient.Sets => ICollection[string] + + + + + This class contains all the common operations for the RedisClient. + The client contains a 1:1 mapping of c# methods to redis operations of the same name. + + Not threadsafe use a pooled manager + + + + + Command to set multuple binary safe arguments + + + + + + + reset buffer index in send buffer + + + + + Requires custom result parsing + + Number of results + + + + Used to manage connection pooling + + + + + Gets or sets object key prefix. + + + + + Interface to Alchemy DB + http://code.google.com/p/alchemydatabase/ + + + + + Native interface to Alchemy DB + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new instance of the Redis Client from NewFactoryFn. + + + + + Returns key with automatic object id detection in provided value with generic type. + + + + + + + Returns key with explicit object id. + + + + + + + Returns key with explicit object type and id. + + + + + + + + Allows you to get Redis value operations to operate against POCO types. + + + + + + Use this to share the same redis connection with another + + The client. + + + + + + + + Redis operation (transaction/pipeline) that allows queued commands to be completed + + + + + Wrap the common redis set operations under a ICollection[string] interface. + + + + + Adds support for Redis Transactions (i.e. MULTI/EXEC/DISCARD operations). + + + + + Pipeline for redis typed client + + + + + + Queue of commands for redis typed client + + + + + + Put "QUEUED" messages at back of queue + + + + + + Issue exec command (not queued) + + + + + callback for after result count is read in + + + + + + distributed work item queue. Each message must have an associated + work item id. For a given id, all work items are guaranteed to be processed + in the order in which they are received. + + + + + distributed work item queue. Each message must have an associated + work item id. For a given id, all work items are guaranteed to be processed + in the order in which they are received. + + + + + + + distributed work item queue + + + + + Enqueue item in priority queue corresponding to workItemId identifier + + + + + + + Preprare next work item id for dequeueing + + + + + Dequeue up to maxBatchSize items from queue corresponding to workItemId identifier. + Once this method is called, or will not + return any items for workItemId until the dequeue lock returned is unlocked. + + + + + + + + Replace existing work item in workItemId queue + + + + + + + + Queue incoming messages + + + + + + + Must call this periodically to move work items from priority queue to pending queue + + + + + Replace existing work item in workItemId queue + + + + + + + + Pop items from list + + + + + + + Force release of locks held by crashed servers + + + + + release lock held by crashed server + + + + true if lock is released, either by this method or by another client; false otherwise + + + + Unlock work item id, so other servers can process items for this id + + + + + + + + + + + + + + + + + + + + + + + + + + + This class manages a write lock for a local readers/writer lock, + using the Resource Acquisition Is Initialization pattern + + + + + + RAII disposal + + + + + acquire distributed, non-reentrant lock on key + + global key for this lock + timeout for acquiring lock + timeout for lock, in seconds (stored as value against lock key) + + + + + + unlock key + + + + + + + + + + + + + distributed work item queue. Messages are processed in chronological order + + + + + Enqueue incoming messages + + + + + + + + Dequeue next batch of work items + + + + + + + + + Redis command that does not get queued + + + + + Ignore dispose on RedisClientsManager, which should be registered as a singleton + + + + + A complete redis command, with method to send command, receive response, and run callback on success or failure + + + + + Locking strategy interface + + + + + Optimized implementation. Primitive types are manually serialized, the rest are serialized using binary serializer />. + + + + + serialize/deserialize arbitrary objects + (objects must be serializable) + + + + + Serialize object to buffer + + serializable object + + + + + Deserialize buffer to object + + byte array to deserialize + + + + + + + + + + + + + + + + + + + serialize value and wrap with + + + + + + + Unwrap object wrapped in + + + + + + + manages a "region" in the redis key space + namespace can be cleared by incrementing the generation + + + + + get current generation + + + + + + set new generation + + + + + + redis key for generation + + + + + + get redis key that holds all namespace keys + + + + + + get global cache key + + + + + + + get global key inside of this namespace + + + prefixes can be added for name deconfliction + + + + + replace UniqueCharacter with its double, to avoid name clash + + + + + + + + + + + + + + get locking strategy + + + + + Represents a generic collection of key/value pairs that are ordered independently of the key and value. + + The type of the keys in the dictionary + The type of the values in the dictionary + + + + Represents a generic collection of key/value pairs that are ordered independently of the key and value. + + The type of the keys in the dictionary + The type of the values in the dictionary + + + + Adds an entry with the specified key and value into the IOrderedDictionary<TKey,TValue> collection with the lowest available index. + + The key of the entry to add. + The value of the entry to add. + The index of the newly added entry + + You can also use the property to add new elements by setting the value of a key that does not exist in the IOrderedDictionary<TKey,TValue> collection; however, if the specified key already exists in the IOrderedDictionary<TKey,TValue>, setting the property overwrites the old value. In contrast, the method does not modify existing elements. + An element with the same key already exists in the IOrderedDictionary<TKey,TValue> + The IOrderedDictionary<TKey,TValue> is read-only.
+ -or-
+ The IOrderedDictionary<TKey,TValue> has a fized size.
+
+ + + Inserts a new entry into the IOrderedDictionary<TKey,TValue> collection with the specified key and value at the specified index. + + The zero-based index at which the element should be inserted. + The key of the entry to add. + The value of the entry to add. The value can be if the type of the values in the dictionary is a reference type. + is less than 0.
+ -or-
+ is greater than .
+ An element with the same key already exists in the IOrderedDictionary<TKey,TValue>. + The IOrderedDictionary<TKey,TValue> is read-only.
+ -or-
+ The IOrderedDictionary<TKey,TValue> has a fized size.
+
+ + + Gets or sets the value at the specified index. + + The zero-based index of the value to get or set. + The value of the item at the specified index. + is less than 0.
+ -or-
+ is equal to or greater than .
+
+ + + Initializes a new instance of the OrderedDictionary<TKey,TValue> class. + + + + + Initializes a new instance of the OrderedDictionary<TKey,TValue> class using the specified initial capacity. + + The initial number of elements that the OrderedDictionary<TKey,TValue> can contain. + is less than 0 + + + + Initializes a new instance of the OrderedDictionary<TKey,TValue> class using the specified comparer. + + The IEqualityComparer<TKey> to use when comparing keys, or to use the default EqualityComparer<TKey> for the type of the key. + + + + Initializes a new instance of the OrderedDictionary<TKey,TValue> class using the specified initial capacity and comparer. + + The initial number of elements that the OrderedDictionary<TKey,TValue> collection can contain. + The IEqualityComparer<TKey> to use when comparing keys, or to use the default EqualityComparer<TKey> for the type of the key. + is less than 0 + + + + Converts the object passed as a key to the key type of the dictionary + + The key object to check + The key object, cast as the key type of the dictionary + is . + The key type of the OrderedDictionary<TKey,TValue> is not in the inheritance hierarchy of . + + + + Converts the object passed as a value to the value type of the dictionary + + The object to convert to the value type of the dictionary + The value object, converted to the value type of the dictionary + is , and the value type of the OrderedDictionary<TKey,TValue> is a value type. + The value type of the OrderedDictionary<TKey,TValue> is not in the inheritance hierarchy of . + + + + Inserts a new entry into the OrderedDictionary<TKey,TValue> collection with the specified key and value at the specified index. + + The zero-based index at which the element should be inserted. + The key of the entry to add. + The value of the entry to add. The value can be if the type of the values in the dictionary is a reference type. + is less than 0.
+ -or-
+ is greater than .
+ is . + An element with the same key already exists in the OrderedDictionary<TKey,TValue>. +
+ + + Inserts a new entry into the OrderedDictionary<TKey,TValue> collection with the specified key and value at the specified index. + + The zero-based index at which the element should be inserted. + The key of the entry to add. + The value of the entry to add. The value can be if the type of the values in the dictionary is a reference type. + is less than 0.
+ -or-
+ is greater than .
+ is .
+ -or-
+ is , and the value type of the OrderedDictionary<TKey,TValue> is a value type.
+ The key type of the OrderedDictionary<TKey,TValue> is not in the inheritance hierarchy of .
+ -or-
+ The value type of the OrderedDictionary<TKey,TValue> is not in the inheritance hierarchy of .
+ -or-
+ An element with the same key already exists in the OrderedDictionary<TKey,TValue>.
+
+ + + Removes the entry at the specified index from the OrderedDictionary<TKey,TValue> collection. + + The zero-based index of the entry to remove. + is less than 0.
+ -or-
+ index is equal to or greater than .
+
+ + + Adds an entry with the specified key and value into the OrderedDictionary<TKey,TValue> collection with the lowest available index. + + The key of the entry to add. + The value of the entry to add. This value can be . + A key cannot be , but a value can be. + You can also use the property to add new elements by setting the value of a key that does not exist in the OrderedDictionary<TKey,TValue> collection; however, if the specified key already exists in the OrderedDictionary<TKey,TValue>, setting the property overwrites the old value. In contrast, the method does not modify existing elements. + is + An element with the same key already exists in the OrderedDictionary<TKey,TValue> + + + + Adds an entry with the specified key and value into the OrderedDictionary<TKey,TValue> collection with the lowest available index. + + The key of the entry to add. + The value of the entry to add. This value can be . + The index of the newly added entry + A key cannot be , but a value can be. + You can also use the property to add new elements by setting the value of a key that does not exist in the OrderedDictionary<TKey,TValue> collection; however, if the specified key already exists in the OrderedDictionary<TKey,TValue>, setting the property overwrites the old value. In contrast, the method does not modify existing elements. + is + An element with the same key already exists in the OrderedDictionary<TKey,TValue> + + + + Adds an entry with the specified key and value into the OrderedDictionary<TKey,TValue> collection with the lowest available index. + + The key of the entry to add. + The value of the entry to add. This value can be . + is .
+ -or-
+ is , and the value type of the OrderedDictionary<TKey,TValue> is a value type.
+ The key type of the OrderedDictionary<TKey,TValue> is not in the inheritance hierarchy of .
+ -or-
+ The value type of the OrderedDictionary<TKey,TValue> is not in the inheritance hierarchy of .
+
+ + + Removes all elements from the OrderedDictionary<TKey,TValue> collection. + + The capacity is not changed as a result of calling this method. + + + + Determines whether the OrderedDictionary<TKey,TValue> collection contains a specific key. + + The key to locate in the OrderedDictionary<TKey,TValue> collection. + if the OrderedDictionary<TKey,TValue> collection contains an element with the specified key; otherwise, . + is + + + + Determines whether the OrderedDictionary<TKey,TValue> collection contains a specific key. + + The key to locate in the OrderedDictionary<TKey,TValue> collection. + if the OrderedDictionary<TKey,TValue> collection contains an element with the specified key; otherwise, . + is + The key type of the OrderedDictionary<TKey,TValue> is not in the inheritance hierarchy of . + + + + Returns the zero-based index of the specified key in the OrderedDictionary<TKey,TValue> + + The key to locate in the OrderedDictionary<TKey,TValue> + The zero-based index of , if is found in the OrderedDictionary<TKey,TValue>; otherwise, -1 + This method performs a linear search; therefore it has a cost of O(n) at worst. + + + + Removes the entry with the specified key from the OrderedDictionary<TKey,TValue> collection. + + The key of the entry to remove + if the key was found and the corresponding element was removed; otherwise, + + + + Removes the entry with the specified key from the OrderedDictionary<TKey,TValue> collection. + + The key of the entry to remove + + + + Copies the elements of the OrderedDictionary<TKey,TValue> elements to a one-dimensional Array object at the specified index. + + The one-dimensional object that is the destination of the objects copied from the OrderedDictionary<TKey,TValue>. The must have zero-based indexing. + The zero-based index in at which copying begins. + The method preserves the order of the elements in the OrderedDictionary<TKey,TValue> + + + + Gets the value associated with the specified key. + + The key of the value to get. + When this method returns, contains the value associated with the specified key, if the key is found; otherwise, the default value for the type of . This parameter can be passed uninitialized. + if the OrderedDictionary<TKey,TValue> contains an element with the specified key; otherwise, . + + + + Adds the specified value to the OrderedDictionary<TKey,TValue> with the specified key. + + The KeyValuePair<TKey,TValue> structure representing the key and value to add to the OrderedDictionary<TKey,TValue>. + + + + Determines whether the OrderedDictionary<TKey,TValue> contains a specific key and value. + + The KeyValuePair<TKey,TValue> structure to locate in the OrderedDictionary<TKey,TValue>. + if is found in the OrderedDictionary<TKey,TValue>; otherwise, . + + + + Copies the elements of the OrderedDictionary<TKey,TValue> to an array of type , starting at the specified index. + + The one-dimensional array of type KeyValuePair<TKey,TValue> that is the destination of the KeyValuePair<TKey,TValue> elements copied from the OrderedDictionary<TKey,TValue>. The array must have zero-based indexing. + The zero-based index in at which copying begins. + + + + Removes a key and value from the dictionary. + + The KeyValuePair<TKey,TValue> structure representing the key and value to remove from the OrderedDictionary<TKey,TValue>. + if the key and value represented by is successfully found and removed; otherwise, . This method returns if is not found in the OrderedDictionary<TKey,TValue>. + + + + Gets the dictionary object that stores the keys and values + + The dictionary object that stores the keys and values for the OrderedDictionary<TKey,TValue> + Accessing this property will create the dictionary object if necessary + + + + Gets the list object that stores the key/value pairs. + + The list object that stores the key/value pairs for the OrderedDictionary<TKey,TValue> + Accessing this property will create the list object if necessary. + + + + Gets or sets the value at the specified index. + + The zero-based index of the value to get or set. + The value of the item at the specified index. + is less than 0.
+ -or-
+ index is equal to or greater than .
+
+ + + Gets or sets the value at the specified index. + + The zero-based index of the value to get or set. + The value of the item at the specified index. + is less than 0.
+ -or-
+ index is equal to or greater than .
+ is a null reference, and the value type of the OrderedDictionary<TKey,TValue> is a value type. + The value type of the OrderedDictionary<TKey,TValue> is not in the inheritance hierarchy of . +
+ + + Gets a value indicating whether the OrderedDictionary<TKey,TValue> has a fixed size. + + if the OrderedDictionary<TKey,TValue> has a fixed size; otherwise, . The default is . + + + + Gets a value indicating whether the OrderedDictionary<TKey,TValue> collection is read-only. + + if the OrderedDictionary<TKey,TValue> is read-only; otherwise, . The default is . + + A collection that is read-only does not allow the addition, removal, or modification of elements after the collection is created. + A collection that is read-only is simply a collection with a wrapper that prevents modification of the collection; therefore, if changes are made to the underlying collection, the read-only collection reflects those changes. + + + + + Gets an object containing the keys in the OrderedDictionary<TKey,TValue>. + + An object containing the keys in the OrderedDictionary<TKey,TValue>. + The returned object is not a static copy; instead, the collection refers back to the keys in the original OrderedDictionary<TKey,TValue>. Therefore, changes to the OrderedDictionary<TKey,TValue> continue to be reflected in the key collection. + + + + Gets an object containing the values in the OrderedDictionary<TKey,TValue> collection. + + An object containing the values in the OrderedDictionary<TKey,TValue> collection. + The returned object is not a static copy; instead, the refers back to the values in the original OrderedDictionary<TKey,TValue> collection. Therefore, changes to the OrderedDictionary<TKey,TValue> continue to be reflected in the . + + + + Gets or sets the value with the specified key. + + The key of the value to get or set. + The value associated with the specified key. If the specified key is not found, attempting to get it returns , and attempting to set it creates a new element using the specified key. + + + + Gets or sets the value with the specified key. + + The key of the value to get or set. + The value associated with the specified key. If the specified key is not found, attempting to get it returns , and attempting to set it creates a new element using the specified key. + + + + Gets the number of key/values pairs contained in the OrderedDictionary<TKey,TValue> collection. + + The number of key/value pairs contained in the OrderedDictionary<TKey,TValue> collection. + + + + Gets a value indicating whether access to the OrderedDictionary<TKey,TValue> object is synchronized (thread-safe). + + This method always returns false. + + + + Gets an object that can be used to synchronize access to the OrderedDictionary<TKey,TValue> object. + + An object that can be used to synchronize access to the OrderedDictionary<TKey,TValue> object. + + + + Gets an ICollection<TKey> object containing the keys in the OrderedDictionary<TKey,TValue>. + + An ICollection<TKey> object containing the keys in the OrderedDictionary<TKey,TValue>. + The returned ICollection<TKey> object is not a static copy; instead, the collection refers back to the keys in the original OrderedDictionary<TKey,TValue>. Therefore, changes to the OrderedDictionary<TKey,TValue> continue to be reflected in the key collection. + + + + Gets an ICollection<TValue> object containing the values in the OrderedDictionary<TKey,TValue>. + + An ICollection<TValue> object containing the values in the OrderedDictionary<TKey,TValue>. + The returned ICollection<TKey> object is not a static copy; instead, the collection refers back to the values in the original OrderedDictionary<TKey,TValue>. Therefore, changes to the OrderedDictionary<TKey,TValue> continue to be reflected in the value collection. + + + + Wrap the common redis set operations under a ICollection[string] interface. + + + + + Wrap the common redis set operations under a ICollection[string] interface. + + + + + wraps a serialized representation of an object + + + + + + Initializes a new instance of . + + Custom item data. + The serialized item. + + + + The data representing the item being stored/retireved. + + + + + Flags set for this instance. + + + + + Useful wrapper IRedisClientsManager to cut down the boiler plat of most IRedisClient access + + + + + Wrap the common redis set operations under a ICollection[string] interface. + + + + + Adds a node and maps points across the circle + + node to add + An arbitrary number, specifies how often it occurs relative to other targets. + + + + A variation of Binary Search algorithm. Given a number, matches the next highest number from the sorted array. + If a higher number does not exist, then the first number in the array is returned. + + a sorted array to perform the search + number to find the next highest number against + next highest number + + + + Given a key, generates an unsigned 64 bit hash code using MD5 + + + + + + + Redis-specific exception. Thrown if unable to connect to Redis server due to socket exception, for example. + + + + + distributed lock class that follows the Resource Allocation Is Initialization pattern + + + + + Lock + + + + in seconds + in seconds + + + + unlock + + + + + Adds support for Redis Transactions (i.e. MULTI/EXEC/DISCARD operations). + + + + + General purpose pipeline + + + + + + Flush send buffer, and read responses + + + + + Put "QUEUED" messages at back of queue + + + + + + Issue exec command (not queued) + + + + + callback for after result count is read in + + + + + + Transient message queues are a one-pass message queue service that starts + processing messages when Start() is called. Any subsequent Start() calls + while the service is running is ignored. + + The transient service will continue to run until all messages have been + processed after which time it will shutdown all processing until Start() is called again. + + + + + Serialize object to buffer + + serializable object + + + + + + + array of serializable objects + + + + + Deserialize buffer to object + + byte array to deserialize + + + + + + customize the client serializer + + + + + Provides thread-safe pooling of redis client connections. + Allows load-balancing of master-write and read-slave hosts, ideal for + 1 master and multiple replicated read slaves. + + + For interoperabilty GetCacheClient() and GetReadOnlyCacheClient() + return an ICacheClient wrapper around the redis manager which has the affect of calling + GetClient() for all write operations and GetReadOnlyClient() for the read ones. + + This works well for master-slave replication scenarios where you have + 1 master that replicates to multiple read slaves. + + + + + Hosts can be an IP Address or Hostname in the format: host[:port] + e.g. 127.0.0.1:6379 + default is: localhost:6379 + + The write hosts. + The read hosts. + The config. + + + + Returns a Read/Write client (The default) using the hosts defined in ReadWriteHosts + + + + + + Called within a lock + + + + + + Returns a ReadOnly client using the hosts defined in ReadOnlyHosts. + + + + + + Called within a lock + + + + + + Disposes the read only client. + + The client. + + + + Disposes the write client. + + The client. + + + + Gets or sets object key prefix. + + + + + Manage a client acquired from the PooledRedisClientManager + Dispose method will release the client back to the pool. + + + + + wrap the acquired client + + + + + + release the wrapped client back to the pool + + + + + access the wrapped client + + + + + Provide the default factory implementation for creating a RedisClient that + can be mocked and used by different 'Redis Client Managers' + + + + + Factory to create SerializingRedisClient objects + + + + + Wrap the common redis set operations under a ICollection[string] interface. + + + + + Wrap the common redis set operations under a ICollection[string] interface. + + + + + Creates a Redis MQ Server that processes each message on its own background thread. + i.e. if you register 3 handlers it will create 7 background threads: + - 1 listening to the Redis MQ Subscription, getting notified of each new message + - 3x1 Normal InQ for each message handler + - 3x1 PriorityQ for each message handler + + When RedisMqServer Starts it creates a background thread subscribed to the Redis MQ Topic that + listens for new incoming messages. It also starts 2 background threads for each message type: + - 1 for processing the services Priority Queue and 1 processing the services normal Inbox Queue. + + Priority Queue's can be enabled on a message-per-message basis by specifying types in the + OnlyEnablePriortyQueuesForTypes property. The DisableAllPriorityQueues property disables all Queues. + + The Start/Stop methods are idempotent i.e. It's safe to call them repeatedly on multiple threads + and the Redis MQ Server will only have Started or Stopped once. + + + + + Execute global transformation or custom logic before a request is processed. + Must be thread-safe. + + + + + Execute global transformation or custom logic on the response. + Must be thread-safe. + + + + + Execute global error handler logic. Must be thread-safe. + + + + + If you only want to enable priority queue handlers (and threads) for specific msg types + + + + + Don't listen on any Priority Queues + + + + + BasicRedisClientManager for ICacheClient + + For more interoperabilty I'm also implementing the ICacheClient on + this cache client manager which has the affect of calling + GetCacheClient() for all write operations and GetReadOnlyCacheClient() + for the read ones. + + This works well for master-slave replication scenarios where you have + 1 master that replicates to multiple read slaves. + + + Provides thread-safe retrievel of redis clients since each client is a new one. + Allows the configuration of different ReadWrite and ReadOnly hosts + + + + + Hosts can be an IP Address or Hostname in the format: host[:port] + e.g. 127.0.0.1:6379 + default is: localhost:6379 + + The write hosts. + The read hosts. + + + + Returns a Read/Write client (The default) using the hosts defined in ReadWriteHosts + + + + + + Returns a ReadOnly client using the hosts defined in ReadOnlyHosts. + + + + + + Gets or sets object key prefix. + + + + + This class manages a read lock for a local readers/writer lock, + using the Resource Acquisition Is Initialization pattern + + + + + RAII initialization + + + + + + RAII disposal + + + + + A complete redis command, with method to send command, receive response, and run callback on success or failure + + + + + pop numProcessed items from queue and unlock queue for work item id that dequeued + items are associated with + + + + + + A dequeued work item has been processed. When all of the dequeued items have been processed, + all items will be popped from the queue,and the queue unlocked for the work item id that + the dequeued items are associated with + + + + + Update first unprocessed item with new work item. + + + + + + + + + + + pop remaining items that were returned by dequeue, and unlock queue + + + + + + indicate that an item has been processed by the caller + + + + + Update first unprocessed work item + + + + + + Provides a redis connection pool that can be sharded + + + + + logical name + + + + + An arbitrary weight relative to other nodes + + + + logical name + An arbitrary weight relative to other nodes + redis nodes + + + + Provides sharding of redis client connections. + uses consistent hashing to distribute keys across connection pools + + + + + maps a key to a redis connection pool + + key to map + a redis connection pool + + + + simple distributed work item queue + + + + + + + Queue incoming messages + + + + + + Dequeue next batch of work items for processing. After this method is called, + no other work items with same id will be available for + dequeuing until PostDequeue is called + + KeyValuePair: key is work item id, and value is list of dequeued items. + + + + + Courtesy of @marcgravell + http://code.google.com/p/protobuf-net/source/browse/trunk/protobuf-net/BufferPool.cs + + + + + Provide the factory implementation for creating a RedisCacheClient that + can be mocked and used by different 'Redis Client Managers' + + + + + Creates an MQ Host that processes all messages on a single background thread. + i.e. If you register 3 handlers it will only create 1 background thread. + + The same background thread that listens to the Redis MQ Subscription for new messages + also cycles through each registered handler processing all pending messages one-at-a-time: + first in the message PriorityQ, then in the normal message InQ. + + The Start/Stop methods are idempotent i.e. It's safe to call them repeatedly on multiple threads + and the Redis MQ Host will only have Started/Stopped once. + + + + + Inject your own Reply Client Factory to handle custom Message.ReplyTo urls. + + +
+
diff --git a/packages/ServiceStack.Redis.3.9.25/lib/net35/ServiceStack.Redis.dll b/packages/ServiceStack.Redis.3.9.25/lib/net35/ServiceStack.Redis.dll new file mode 100644 index 000000000..240a6f5b8 Binary files /dev/null and b/packages/ServiceStack.Redis.3.9.25/lib/net35/ServiceStack.Redis.dll differ diff --git a/packages/ServiceStack.Text.3.6.9/ServiceStack.Text.3.6.9.nupkg b/packages/ServiceStack.Text.3.6.9/ServiceStack.Text.3.6.9.nupkg deleted file mode 100644 index de433118a..000000000 Binary files a/packages/ServiceStack.Text.3.6.9/ServiceStack.Text.3.6.9.nupkg and /dev/null differ diff --git a/packages/ServiceStack.Text.3.6.9/lib/ServiceStack.Text-v3.67.zip b/packages/ServiceStack.Text.3.6.9/lib/ServiceStack.Text-v3.67.zip deleted file mode 100644 index 9d4864b6a..000000000 Binary files a/packages/ServiceStack.Text.3.6.9/lib/ServiceStack.Text-v3.67.zip and /dev/null differ diff --git a/packages/ServiceStack.Text.3.6.9/lib/net35/ServiceStack.Text.dll b/packages/ServiceStack.Text.3.6.9/lib/net35/ServiceStack.Text.dll deleted file mode 100644 index f9bf0032c..000000000 Binary files a/packages/ServiceStack.Text.3.6.9/lib/net35/ServiceStack.Text.dll and /dev/null differ diff --git a/packages/ServiceStack.Text.3.6.9/lib/net35/ServiceStack.Text.pdb b/packages/ServiceStack.Text.3.6.9/lib/net35/ServiceStack.Text.pdb deleted file mode 100644 index 6980a0d0c..000000000 Binary files a/packages/ServiceStack.Text.3.6.9/lib/net35/ServiceStack.Text.pdb and /dev/null differ diff --git a/packages/ServiceStack.Text.3.9.27/ServiceStack.Text.3.9.27.nupkg b/packages/ServiceStack.Text.3.9.27/ServiceStack.Text.3.9.27.nupkg new file mode 100644 index 000000000..81bd56a4b Binary files /dev/null and b/packages/ServiceStack.Text.3.9.27/ServiceStack.Text.3.9.27.nupkg differ diff --git a/packages/ServiceStack.Text.3.9.27/ServiceStack.Text.3.9.27.nuspec b/packages/ServiceStack.Text.3.9.27/ServiceStack.Text.3.9.27.nuspec new file mode 100644 index 000000000..f8d7f63b1 --- /dev/null +++ b/packages/ServiceStack.Text.3.9.27/ServiceStack.Text.3.9.27.nuspec @@ -0,0 +1,23 @@ + + + + ServiceStack.Text + 3.9.27 + .NET's fastest JSON Serializer by ServiceStack + Demis Bellot + Demis Bellot + https://github.com/ServiceStack/ServiceStack.Text/blob/master/LICENSE + https://github.com/ServiceStack/ServiceStack.Text + http://www.servicestack.net/logo-100x100.png + false + .NET's fastest JSON, JSV and CSV Text Serializers (3x faster than JSON.NET). Fast, Light, Resilient. + Benchmarks at: http://servicestack.net/benchmarks/ + Includes the String and Stream functionality for all the ServiceStack projects including: + - T.Dump() generic extension method for easy dbugging and introspection of types + - WebRequest, List, Dictionary and DateTime extensions + .NET's fastest JSON, JSV and CSV Text Serializers (3x faster than JSON.NET) + ServiceStack 2012 and contributors + en-US + JSON Text Serializer CSV JSV Dump PrettyPrint Fast + + \ No newline at end of file diff --git a/packages/ServiceStack.Text.3.6.9/lib/net35/ServiceStack.Text.XML b/packages/ServiceStack.Text.3.9.27/lib/net35/ServiceStack.Text.XML similarity index 80% rename from packages/ServiceStack.Text.3.6.9/lib/net35/ServiceStack.Text.XML rename to packages/ServiceStack.Text.3.9.27/lib/net35/ServiceStack.Text.XML index 9455f7ad6..6584b7e18 100644 --- a/packages/ServiceStack.Text.3.6.9/lib/net35/ServiceStack.Text.XML +++ b/packages/ServiceStack.Text.3.9.27/lib/net35/ServiceStack.Text.XML @@ -185,6 +185,17 @@ and parsing member names and enum values in a case-insensitive manner.
+ + + if the is configured + to support web-friendly serialized formats, ie emitting lowercase_underscore_casing for JSON + + + + + Define how property names are mapped during deserialization + + Gets or sets a value indicating if the framework should throw serialization exceptions @@ -192,6 +203,28 @@ will throw; otherwise, it will parse as many fields as possible. The default is . + + + Sets which format to use when serializing TimeSpans + + + + + If set to true, Interface types will be prefered over concrete types when serializing. + + + + + Set this to enable your own type construction provider. + This is helpful for integration with IoC containers where you need to call the container constructor. + Return null if you don't know how to construct the type and the parameterless constructor will be used. + + + + + Always emit type info for this type. Takes precedence over ExcludeTypeInfo + + Never emit type info for this type @@ -210,11 +243,26 @@ Define custom serialization fn for BCL Structs + + + Define custom raw serialization fn + + + + + Define custom serialization hook + + Define custom deserialization fn for BCL Structs + + + Define custom raw deserialization fn for objects + + Exclude specific properties of this type from being serialized @@ -225,6 +273,31 @@ Opt-in flag to set some Value Types to be treated as a Ref Type + + + Whether there is a fn (raw or otherwise) + + + + + The property names on target types must match property names in the JSON source + + + + + The property names on target types may not match the property names in the JSON source + + + + + Uses the xsd format like PT15H10M20S + + + + + Uses the standard .net ToString method of the TimeSpan class + + Creates an instance of a Type from a string value @@ -266,6 +339,16 @@ + + + Print Dump to Console.WriteLine + + + + + Print string.Format to Console.WriteLine + + A hashset implementation that uses an IDictionary @@ -285,6 +368,36 @@ + + + Get JSON string value converted to T + + + + + Get JSON string value + + + + + Get unescaped string value + + + + + Get unescaped string value + + + + + Write JSON Array, Object, bool or number values as raw string + + + + + Get JSON string value + + Class to hold @@ -376,6 +489,11 @@ [typeName] or [typeName, assemblyName] + + + The top-most interface of the given type, if any. + + Find type if it exists diff --git a/packages/ServiceStack.Text.3.9.27/lib/net35/ServiceStack.Text.dll b/packages/ServiceStack.Text.3.9.27/lib/net35/ServiceStack.Text.dll new file mode 100644 index 000000000..81450016e Binary files /dev/null and b/packages/ServiceStack.Text.3.9.27/lib/net35/ServiceStack.Text.dll differ diff --git a/packages/ServiceStack.Text.3.6.9/lib/sl4-windowsphone71/ServiceStack.Text.WP.XML b/packages/ServiceStack.Text.3.9.27/lib/sl4-windowsphone71/ServiceStack.Text.WP.XML similarity index 100% rename from packages/ServiceStack.Text.3.6.9/lib/sl4-windowsphone71/ServiceStack.Text.WP.XML rename to packages/ServiceStack.Text.3.9.27/lib/sl4-windowsphone71/ServiceStack.Text.WP.XML diff --git a/packages/ServiceStack.Text.3.6.9/lib/sl4-windowsphone71/ServiceStack.Text.WP.dll b/packages/ServiceStack.Text.3.9.27/lib/sl4-windowsphone71/ServiceStack.Text.WP.dll similarity index 100% rename from packages/ServiceStack.Text.3.6.9/lib/sl4-windowsphone71/ServiceStack.Text.WP.dll rename to packages/ServiceStack.Text.3.9.27/lib/sl4-windowsphone71/ServiceStack.Text.WP.dll diff --git a/packages/ServiceStack.Text.3.6.9/lib/sl4/ServiceStack.Text.dll b/packages/ServiceStack.Text.3.9.27/lib/sl4/ServiceStack.Text.dll similarity index 100% rename from packages/ServiceStack.Text.3.6.9/lib/sl4/ServiceStack.Text.dll rename to packages/ServiceStack.Text.3.9.27/lib/sl4/ServiceStack.Text.dll diff --git a/packages/ServiceStack.Text.3.9.27/lib/sl4/ServiceStack.Text.xml b/packages/ServiceStack.Text.3.9.27/lib/sl4/ServiceStack.Text.xml new file mode 100644 index 000000000..7bb9bfa94 --- /dev/null +++ b/packages/ServiceStack.Text.3.9.27/lib/sl4/ServiceStack.Text.xml @@ -0,0 +1,385 @@ + + + + ServiceStack.Text + + + + + Shortcut escape when we're sure value doesn't contain any escaped chars + + + + + + + Since Silverlight doesn't have char.ConvertFromUtf32() so putting Mono's implemenation inline. + + + + + + + Implement the serializer using a more static approach + + + + + + A fast, standards-based, serialization-issue free DateTime serailizer. + + + + + Creates an instance of a Type from a string value + + + + + Determines whether this serializer can create the specified type from a string. + + The type. + + true if this instance [can create from string] the specified type; otherwise, false. + + + + + Parses the specified value. + + The value. + + + + + Deserializes from reader. + + The reader. + + + + + Serializes to string. + + The value. + + + + + Serializes to writer. + + The value. + The writer. + + + + Parses the specified value. + + The value. + + + + + if the is configured + to take advantage of specification, + to support user-friendly serialized formats, ie emitting camelCasing for JSON + and parsing member names and enum values in a case-insensitive manner. + + + + + Provide hint to MonoTouch AOT compiler to pre-compile generic classes for all your DTOs. + Just needs to be called once in a static constructor. + + + + + Never emit type info for this type + + + + + if the is configured + to take advantage of specification, + to support user-friendly serialized formats, ie emitting camelCasing for JSON + and parsing member names and enum values in a case-insensitive manner. + + + + + Define custom serialization fn for BCL Structs + + + + + Define custom deserialization fn for BCL Structs + + + + + Exclude specific properties of this type from being serialized + + + + + Pretty Thread-Safe cache class from: + http://code.google.com/p/dapper-dot-net/source/browse/Dapper/SqlMapper.cs + + This is a micro-cache; suitable when the number of terms is controllable (a few hundred, for example), + and strictly append-only; you cannot change existing values. All key matches are on **REFERENCE** + equality. The type is fully thread-safe. + + + + + Creates an instance of a Type from a string value + + + + + Determines whether the specified type is convertible from string. + + The type. + + true if the specified type is convertible from string; otherwise, false. + + + + + Parses the specified value. + + The value. + + + + + Parses the specified type. + + The type. + The value. + + + + + Useful extension method to get the Dictionary[string,string] representation of any POCO type. + + + + + + Recursively prints the contents of any POCO object in a human-friendly, readable format + + + + + + A class to allow the conversion of doubles to string representations of + their exact decimal values. The implementation aims for readability over + efficiency. + + Courtesy of @JonSkeet + http://www.yoda.arachsys.com/csharp/DoubleConverter.cs + + + + + + + + How many digits are *after* the decimal point + + + + + Constructs an arbitrary decimal expansion from the given long. + The long must not be negative. + + + + + Multiplies the current expansion by the given amount, which should + only be 2 or 5. + + + + + Shifts the decimal point; a negative value makes + the decimal expansion bigger (as fewer digits come after the + decimal place) and a positive value makes the decimal + expansion smaller. + + + + + Removes leading/trailing zeroes from the expansion. + + + + + Converts the value to a proper decimal string representation. + + + + + @jonskeet: Collection of utility methods which operate on streams. + r285, February 26th 2009: http://www.yoda.arachsys.com/csharp/miscutil/ + + + + + Reads the given stream up to the end, returning the data as a byte + array. + + + + + Reads the given stream up to the end, returning the data as a byte + array, using the given buffer size. + + + + + Reads the given stream up to the end, returning the data as a byte + array, using the given buffer for transferring data. Note that the + current contents of the buffer is ignored, so the buffer needn't + be cleared beforehand. + + + + + Copies all the data from one stream into another. + + + + + Copies all the data from one stream into another, using a buffer + of the given size. + + + + + Copies all the data from one stream into another, using the given + buffer for transferring data. Note that the current contents of + the buffer is ignored, so the buffer needn't be cleared beforehand. + + + + + Reads exactly the given number of bytes from the specified stream. + If the end of the stream is reached before the specified amount + of data is read, an exception is thrown. + + + + + Reads into a buffer, filling it completely. + + + + + Reads exactly the given number of bytes from the specified stream, + into the given buffer, starting at position 0 of the array. + + + + + Reads exactly the given number of bytes from the specified stream, + into the given buffer, starting at position 0 of the array. + + + + + Same as ReadExactly, but without the argument checks. + + + + + Implement the serializer using a more static approach + + + + + + Parses the specified value. + + The value. + + + + + Converts from base: 0 - 62 + + The source. + From. + To. + + + + + Skip the encoding process for 'safe strings' + + + + + + + Class to hold + + + + + + Get the type(string) constructor if exists + + The type. + + + + + Implement the serializer using a more static approach + + + + + + Utils to load types + + + + + Find the type from the name supplied + + [typeName] or [typeName, assemblyName] + + + + + Find type if it exists + + + + The type if it exists + + + + micro optimizations: using flags instead of value.IndexOfAny(EscapeChars) + + + + + + + WCF Json format: /Date(unixts+0000)/ + + + + + + + micro optimizations: using flags instead of value.IndexOfAny(EscapeChars) + + + + + + diff --git a/packages/ServiceStack.Text.3.6.9/lib/sl5/ServiceStack.Text.dll b/packages/ServiceStack.Text.3.9.27/lib/sl5/ServiceStack.Text.dll similarity index 100% rename from packages/ServiceStack.Text.3.6.9/lib/sl5/ServiceStack.Text.dll rename to packages/ServiceStack.Text.3.9.27/lib/sl5/ServiceStack.Text.dll diff --git a/packages/ServiceStack.Text.3.9.27/lib/sl5/ServiceStack.Text.xml b/packages/ServiceStack.Text.3.9.27/lib/sl5/ServiceStack.Text.xml new file mode 100644 index 000000000..7bb9bfa94 --- /dev/null +++ b/packages/ServiceStack.Text.3.9.27/lib/sl5/ServiceStack.Text.xml @@ -0,0 +1,385 @@ + + + + ServiceStack.Text + + + + + Shortcut escape when we're sure value doesn't contain any escaped chars + + + + + + + Since Silverlight doesn't have char.ConvertFromUtf32() so putting Mono's implemenation inline. + + + + + + + Implement the serializer using a more static approach + + + + + + A fast, standards-based, serialization-issue free DateTime serailizer. + + + + + Creates an instance of a Type from a string value + + + + + Determines whether this serializer can create the specified type from a string. + + The type. + + true if this instance [can create from string] the specified type; otherwise, false. + + + + + Parses the specified value. + + The value. + + + + + Deserializes from reader. + + The reader. + + + + + Serializes to string. + + The value. + + + + + Serializes to writer. + + The value. + The writer. + + + + Parses the specified value. + + The value. + + + + + if the is configured + to take advantage of specification, + to support user-friendly serialized formats, ie emitting camelCasing for JSON + and parsing member names and enum values in a case-insensitive manner. + + + + + Provide hint to MonoTouch AOT compiler to pre-compile generic classes for all your DTOs. + Just needs to be called once in a static constructor. + + + + + Never emit type info for this type + + + + + if the is configured + to take advantage of specification, + to support user-friendly serialized formats, ie emitting camelCasing for JSON + and parsing member names and enum values in a case-insensitive manner. + + + + + Define custom serialization fn for BCL Structs + + + + + Define custom deserialization fn for BCL Structs + + + + + Exclude specific properties of this type from being serialized + + + + + Pretty Thread-Safe cache class from: + http://code.google.com/p/dapper-dot-net/source/browse/Dapper/SqlMapper.cs + + This is a micro-cache; suitable when the number of terms is controllable (a few hundred, for example), + and strictly append-only; you cannot change existing values. All key matches are on **REFERENCE** + equality. The type is fully thread-safe. + + + + + Creates an instance of a Type from a string value + + + + + Determines whether the specified type is convertible from string. + + The type. + + true if the specified type is convertible from string; otherwise, false. + + + + + Parses the specified value. + + The value. + + + + + Parses the specified type. + + The type. + The value. + + + + + Useful extension method to get the Dictionary[string,string] representation of any POCO type. + + + + + + Recursively prints the contents of any POCO object in a human-friendly, readable format + + + + + + A class to allow the conversion of doubles to string representations of + their exact decimal values. The implementation aims for readability over + efficiency. + + Courtesy of @JonSkeet + http://www.yoda.arachsys.com/csharp/DoubleConverter.cs + + + + + + + + How many digits are *after* the decimal point + + + + + Constructs an arbitrary decimal expansion from the given long. + The long must not be negative. + + + + + Multiplies the current expansion by the given amount, which should + only be 2 or 5. + + + + + Shifts the decimal point; a negative value makes + the decimal expansion bigger (as fewer digits come after the + decimal place) and a positive value makes the decimal + expansion smaller. + + + + + Removes leading/trailing zeroes from the expansion. + + + + + Converts the value to a proper decimal string representation. + + + + + @jonskeet: Collection of utility methods which operate on streams. + r285, February 26th 2009: http://www.yoda.arachsys.com/csharp/miscutil/ + + + + + Reads the given stream up to the end, returning the data as a byte + array. + + + + + Reads the given stream up to the end, returning the data as a byte + array, using the given buffer size. + + + + + Reads the given stream up to the end, returning the data as a byte + array, using the given buffer for transferring data. Note that the + current contents of the buffer is ignored, so the buffer needn't + be cleared beforehand. + + + + + Copies all the data from one stream into another. + + + + + Copies all the data from one stream into another, using a buffer + of the given size. + + + + + Copies all the data from one stream into another, using the given + buffer for transferring data. Note that the current contents of + the buffer is ignored, so the buffer needn't be cleared beforehand. + + + + + Reads exactly the given number of bytes from the specified stream. + If the end of the stream is reached before the specified amount + of data is read, an exception is thrown. + + + + + Reads into a buffer, filling it completely. + + + + + Reads exactly the given number of bytes from the specified stream, + into the given buffer, starting at position 0 of the array. + + + + + Reads exactly the given number of bytes from the specified stream, + into the given buffer, starting at position 0 of the array. + + + + + Same as ReadExactly, but without the argument checks. + + + + + Implement the serializer using a more static approach + + + + + + Parses the specified value. + + The value. + + + + + Converts from base: 0 - 62 + + The source. + From. + To. + + + + + Skip the encoding process for 'safe strings' + + + + + + + Class to hold + + + + + + Get the type(string) constructor if exists + + The type. + + + + + Implement the serializer using a more static approach + + + + + + Utils to load types + + + + + Find the type from the name supplied + + [typeName] or [typeName, assemblyName] + + + + + Find type if it exists + + + + The type if it exists + + + + micro optimizations: using flags instead of value.IndexOfAny(EscapeChars) + + + + + + + WCF Json format: /Date(unixts+0000)/ + + + + + + + micro optimizations: using flags instead of value.IndexOfAny(EscapeChars) + + + + + + diff --git a/packages/repositories.config b/packages/repositories.config index e3e759655..5ee18e2b3 100644 --- a/packages/repositories.config +++ b/packages/repositories.config @@ -1,5 +1,6 @@  +