WebTrendsSDK 0.1.0

dotnet add package WebTrendsSDK --version 0.1.0                
NuGet\Install-Package WebTrendsSDK -Version 0.1.0                
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="WebTrendsSDK" Version="0.1.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add WebTrendsSDK --version 0.1.0                
#r "nuget: WebTrendsSDK, 0.1.0"                
#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 WebTrendsSDK as a Cake Addin
#addin nuget:?package=WebTrendsSDK&version=0.1.0

// Install WebTrendsSDK as a Cake Tool
#tool nuget:?package=WebTrendsSDK&version=0.1.0                

WebTrendsSDK

A .NET SDK built for the WebTrends OTS API

.github/workflows/main.yml .github/workflows/release.yml

Installation

The SDK is available as a NuGet package. You can install it using the following command:

dotnet add package WebTrendsSDK

Usage

.NET Core & .NET 5+

You can easily add the WebTrendsSDK to your project by referencing the NuGet package and adding the following configuration and service registration:

{
  "WebTrends": {
    "AccountId": "<account-id>",
		"KeyToken": "<key-token>"
  }
}
services.AddWebTrends();

This will register a default per-request IWebTrendsApiClient instance in the service collection. You can then inject this into your services and use it to interact with the WebTrends API.

.NET Framework

For use on .NET Framework would largely depend on your dependency injection strategy (if you use one).

You can easily create an instance of the WebTrendsApiClient class and use it to interact with the WebTrends API.

var http = new HttpClient();
var client = new WebTrendsApiClient(http, new WebTrendsSettings());

Or, alternatively through the API client factory:

var clientFactory = new WebTrendsApiClientFactory(new WebTrendsHttpClientFactory());
var client = clientFactory.CreateClient(new WebTrendsSettings());

NOTE - On .NET Framework, it is recommended to use a single instance of HttpClient for the lifetime of your application. This is because the HttpClient class is designed to be reused and not disposed of after each request.

A IWebTrendsHttpClientFactory can be implemented to manage the lifecycle of the HttpClient instance.

Debugging

To aid in debugging results from the WebTrends API, you can enable the following settings:

{
  "WebTrends": {
		"CaptureRequestContent": true,
    "CaptureResponseContent": true
  }
}

These settings, when enabled will capture the request and response content for each API call, and the content of these will be available to the WebTrendsResponse as RequestContent and ResponseContent properties. The SDK will automatically map these results, but for unexpected results, it is useful to understand what has been sent/received.

Open Source

This SDK is open source and is available under the MIT license. Feel free to contribute to the project by submitting pull requests or issues.

Component Authors Website License
.NET Platform Microsoft and contributors GitHub MIT
Ben.Demystifier Ben Adams GitHub Apache V2
FluentValidation Jeremy Skinner and contributors GitHub Apache V2
Docusaurus Meta Platforms, Inc and contributors GitHub MIT
MinVer Adam Ralph and contributors GitHub Apache V2

By using this SDK, you agree to the terms of the MIT license used by this project, as well as the terms of the licenses of the components used by this SDK.

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  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

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
0.1.0 388 5/10/2024

# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## 0.1.0
### Added
- Support for WebTrends OTS API