SiddiqSoft.AzureCppUtils 3.0.1

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

// Install SiddiqSoft.AzureCppUtils as a Cake Tool
#tool nuget:?package=SiddiqSoft.AzureCppUtils&version=3.0.1                

Azure C++ Utils : Azure REST API Helpers for Modern C++

Build Status alternate text is missing from this package README image alternate text is missing from this package README image alternate text is missing from this package README image alternate text is missing from this package README image

Objective

  • Collect useful helpers for Azure REST API in a single location.
  • Requires C++20
    • Clang 18+ or GCC 14+ or MSVC 2019+
  • Header-only
    • Use the nuget package or CMakeLists to import into your project.
  • Use Win32 functions on Windows
  • OpenSSL v3.x required for Linux and MacOS

Features

Not every facility of OpenSSL or Crypto lib is provided here. Our focus is to curate code that is of most use when using the Azure ServiceBus, Cosmos, Events REST API. Moreover, the API focusses on the std::string and while we've attempted to provide for an API that can be used with std::wstring the later is utf-8 conversion from std::string.

  • DateUtils (date-utils.hpp)
    • RFC7231 and RFC1123
    • ISO8601
  • Bas64Utils (base64-utils.hpp)
    • encode, decode
  • EncryptionUtils (encryption-utils.hpp)
    • MD5, HMAC, JWTSHA256, SASToken, CosmosToken

Usage

..
.. # import the CPM.cmake module and activate..
..
CPMAddModule("gh:siddiqsoft/AzureCppUtils#3.0.0")
..
..
target_link_libraries(your-project PRIVATE AzureCppUtils::AzureCppUtils)
// Get a SAS signature for ServiceBus API
std::string keyname {"RootManageSharedAccessKey"};
std::string key {"myPrimaryKey"};
std::string url {"myNamespace.servicebus.windows.net/myEventHub"};
// In this test, we're providing the epoch as the expiry string: 1629608276.
// corresponds to Sunday, August 22, 2021 4:57:56 AM UTC
auto sas = EncryptionUtils::SASToken<char>(key, url, keyname, "1629608276");
// Alternatively, you can specify minutes, hours from "now"
auto sas = EncryptionUtils::SASToken<char>(key, url, keyname, std::chrono::minutes(60));

<p align="right"> © 2021 Siddiq Software. All rights reserved. </p>

Product Compatible and additional computed target framework versions.
native native is compatible. 
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 SiddiqSoft.AzureCppUtils:

Package Downloads
SiddiqSoft.restcl

Focussed REST Client for modern C++

SiddiqSoft.CosmosClient

Azure Cosmos REST-API Client for Modern C++

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
3.0.1 73 12/22/2024
3.0.0 68 12/22/2024
2.0.1 200 12/12/2024
2.0.0 96 12/12/2024
1.6.7 88 12/7/2024
1.6.6 92 12/6/2024
1.6.5.1 97 12/4/2024
1.6.3.1 85 12/4/2024
1.6.2 87 12/4/2024
1.6.1.1 79 12/4/2024
1.5.6 148 10/26/2024
1.5.5 246 9/30/2024
1.5.4 110 9/28/2024
1.5.3 617 12/22/2021
1.5.2 428 12/20/2021
1.5.1 544 12/20/2021
1.5.0 6,139 12/16/2021
1.4.2 755 12/8/2021
1.4.1 2,924 11/20/2021
1.3.0 2,038 10/11/2021
1.2.9 597 9/3/2021
1.2.8 505 9/3/2021
1.2.7 522 9/2/2021
1.2.6 598 9/2/2021
1.2.5 547 9/2/2021
1.2.4 540 9/2/2021
1.2.3 448 9/2/2021
1.2.2 632 8/28/2021
1.2.1 584 8/27/2021
1.1.2 578 8/26/2021
1.1.1 587 8/24/2021
1.1.0 553 8/23/2021
1.0.2 568 8/22/2021
1.0.1 625 8/22/2021
1.0.0 4,511 8/22/2021