HUMANiT.Azure 1.2.0-preview-3018

This is a prerelease version of HUMANiT.Azure.
dotnet add package HUMANiT.Azure --version 1.2.0-preview-3018                
NuGet\Install-Package HUMANiT.Azure -Version 1.2.0-preview-3018                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="HUMANiT.Azure" Version="1.2.0-preview-3018" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add HUMANiT.Azure --version 1.2.0-preview-3018                
#r "nuget: HUMANiT.Azure, 1.2.0-preview-3018"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install HUMANiT.Azure as a Cake Addin
#addin nuget:?package=HUMANiT.Azure&version=1.2.0-preview-3018&prerelease

// Install HUMANiT.Azure as a Cake Tool
#tool nuget:?package=HUMANiT.Azure&version=1.2.0-preview-3018&prerelease                

HUMANiT Azure

This package provides logic that we miss in .NET for Azure, but that find valuable for our own daily software development. -- the people of HUMANiT

Features

  • Logging: Simplified logging that is always available and can be enabled/disabled during runtime.

  • API Proxy: GET, PUT, POST, PATCH, and DELETE commands to proxy a call directly to a RESTful API. Built-in secondary proxy. Raw calls. Azure Functions obfuscation keys.

  • Simple API Proxy: Provides access to a RESTful API via type-safe resource types and pre-defines expected responses. Allways returns a result; never throws an exception. Built-in secondary proxy. Raw calls. Azure Functions obfuscation keys.

  • Domain API Proxy: Provides access to a RESTful API via immutable type-safe domain objects and pre-defines expected responses. Allways returns a result; never throws an exception. Built-in secondary proxy. Raw calls. Azure Functions obfuscation keys.

  • HTTP Methods: Constants for all used HTTP methods as per standard HTTP protocols 1.1, 2, and 3.

  • Media Types: Constants for most commonly used media types.

  • HTTP StatusCode Extensions: Extension methods for easier use of System.Net.HttpStatusCode.

  • This package contains features which we require for our own software; therefore, some features are highly custom. If you require a fix, an enhancement, or a more configurable solution, please contact us.

Contact

  • Twitter -- stay in touch (@HUMANiTnz)
  • Facebook -- message with us (@HUMANiTnz)
  • support@humanit.nz -- contact us via email

License

MIT -- free software, hell yeah 🤩

Quickstart

Classes that inherit from AzureBase can use this package's features:

public class YourClass : AzureBase<YourClass> { .. }

Logging

Simplified logging that is always available and can be enabled/disabled during runtime.

To use logging features, you must call one of the provided constructors:

// call this constructor if you have a logger handy
public YourClass(ILogger logger) : base(logger) { .. }

// call this constructor if you have a logger factory handy
public YourClass(ILoggerFactory loggerFactory) : base(loggerFactory) { .. }

Logging is enabled by default. You can control the default by defining its state during contruction. All constructors have an optional parameter enableLogging:

public YourClass(ILogger logger, bool enableLogging) : base(logger, enableLogging) { .. }

Logging can be enabled and disabled during runtime using the methods EnableLogging() and DisableLogging().

You can check the logging status during runtime by calling IsLoggingEnabled and IsLoggingDisabled.

You can log a message or exception anywhere in your class using 6 log levels. For all log levels, there are multiple overloaded named methods available: LogDebug(), LogTrace(), LogInformation(), LogWarning(), LogError(), and LogCritical().

You can log entering a method by calling LogMethodCall():

public void YourMethod() {
    LogMethodCall(nameof(YourClass), nameof(YourMethod));
    ..
}

API Proxy

GET, PUT, POST, PATCH, and DELETE commands to proxy a call directly to a RESTful API. Built-in secondary proxy. Raw calls. Obfuscation keys.

Quickstart guidance will come.

Simple API Proxy

Provides access to a RESTful API via type-safe resource types and pre-defines expected responses. Allways returns a result; never throws an exception. Built-in secondary proxy. Raw calls. Azure Functions obfuscation keys.

Quickstart guidance will come.

Domain API Proxy

Provides access to a RESTful API via immutable type-safe domain objects and pre-defines expected responses. Allways returns a result; never throws an exception. Built-in secondary proxy. Raw calls. Azure Functions obfuscation keys.

Quickstart guidance will come.

HTTP Methods

Constants for all used HTTP methods as per standard HTTP protocols 1.1, 2, and 3.

Quickstart guidance will come.

Media Types

Constants for most commonly used media types.

Quickstart guidance will come.

HTTP StatusCode Extensions

Extension methods for easier use of System.Net.HttpStatusCode.

Quickstart guidance will come.

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on HUMANiT.Azure:

Package Downloads
HUMANiT.Azure.Functions

API proxy. Heartbeat. Simplified payload handling. Simplified content result creation incl. JSON. Simplified IActionResult handling for common HTTP status codes. Media types. Extensions.

HUMANiT.Azure.Data

Key features for anything in Azure to deal with data access such as databases, external services, queues, etc. Special features for Azure Cosmos DB.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.2.0-preview-3018 184 2/8/2024
1.1.0 855 11/4/2023
1.0.4 1,516 3/27/2023
1.0.3 913 1/17/2023
1.0.2 250 1/17/2023
1.0.1 864 1/10/2023
1.0.0 1,515 8/22/2022
0.7.0 3,362 4/2/2020

Contact HUMANiT for details: support@HUMANiT.nz