SiddiqSoft.AzureCppUtils
3.0.1
dotnet add package SiddiqSoft.AzureCppUtils --version 3.0.1
NuGet\Install-Package SiddiqSoft.AzureCppUtils -Version 3.0.1
<PackageReference Include="SiddiqSoft.AzureCppUtils" Version="3.0.1" />
paket add SiddiqSoft.AzureCppUtils --version 3.0.1
#r "nuget: SiddiqSoft.AzureCppUtils, 3.0.1"
// 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++
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 withstd::wstring
the later is utf-8 conversion fromstd::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
- Use the nuget SiddiqSoft.AzureCppUtils
- Use the CPM in your CMakeLists file.
..
.. # 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 | Versions Compatible and additional computed target framework versions. |
---|---|
native | native is compatible. |
-
- SiddiqSoft.RunOnEnd (>= 1.3.1)
- SiddiqSoft.StringHelpers (>= 1.0.1)
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 |