29949fa64f486f3a0b3ce268d2da5175f999e0f9
Currently the user agent header value was created for each TokenDelegatingHandler and NordigenHttpClient. By creating the header value once, both the execution time and allocated memory for GetRequiredService<INordigenClient>() was reduced. Original: | Mean | Error | StdDev | Gen 0 | Gen 1 | Allocated | |--------- |---------:|---------:|-------:|-------:|----------:| | 33.16 us | 0.102 us | 0.090 us | 5.3101 | 0.0916 | 44 KB | After caching: | Mean | Error | StdDev | Gen 0 | Gen 1 | Allocated | |--------- |---------:|---------:|-------:|-------:|----------:| | 26.02 us | 0.091 us | 0.086 us | 4.8218 | 0.0000 | 39 KB |
NordigenDotNet
.NET client for the Nordigen API.
Usage
A separate NuGet package is provided for ASP.NET Core (IConfiguration and IServiceCollection) . For use outside of ASP.NET Core, see the configuration.
- Add configuration (for optional values see options)
"Nordigen": {
"SecretId": "",
"SecretKey": ""
}
- Register required services
// Only registers services from NordigenDotNet
services.AddNordigenDotNet(Configuration);
// Also registers the IDateTimeZoneProvider, which is required
serviceCollection.AddNordigenDotNet(Configuration, SystemClock.Instance, DateTimeZoneProviders.Tzdb);
- (Optional) Configure retries with Polly (NuGet package)
services
.AddNordigenDotNet(Configuration, SystemClock.Instance, DateTimeZoneProviders.Tzdb)
.AddPolicyHandler(...);
- Use
INordigenClientto access all endpoints, or one of the specific clients defined inINordigenClient
Known issues
- Does not support the premium endpoints
- Due to incomplete documentation and differences between data returned by each bank, not all data returned by the Nordigen API might be captured. When using the client with a new institution, consider inspecting the raw data returned by Nordigen. If something is missing, please create an issue
Description
Languages
C#
99.2%
Shell
0.8%