Skip to content

Commit

Permalink
Token refresh and project version (#37)
Browse files Browse the repository at this point in the history
* always fetch new token

* dotnet project version

* version bump
  • Loading branch information
ssnyder-intrinio authored Jul 11, 2024
1 parent a349ccb commit dd0a478
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 28 deletions.
22 changes: 11 additions & 11 deletions IntrinioRealTimeClient.nuspec
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,19 @@
<package>
<metadata>
<id>IntrinioRealTimeClient</id>
<version>9.2.0</version>
<version>10.0.0</version>
<title>Intrinio SDK for Real-Time Stock Prices</title>
<authors>Intrinio</authors>
<owners>Intrinio</owners>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<licenseUrl>https://licenses.nuget.org/MIT</licenseUrl>
<projectUrl>https://github.com/intrinio/intrinio-realtime-csharp-sdk</projectUrl>
<description>Intrinio provides real-time stock prices via a two-way WebSocket connection.</description>
<releaseNotes>Version 9.2.0 release.</releaseNotes>
<releaseNotes>Version 10.0.0 release.</releaseNotes>
<copyright>Copyright 2024 Intrinio</copyright>
<tags>fintech stocks prices websocket real-time market finance</tags>
<dependencies>
<group targetFramework="net6.0">
<group targetFramework="net8.0">
<dependency id="FSharp.Core" version="7.0.400" />
<dependency id="Microsoft.Extensions.Configuration" version="7.0.0" />
<dependency id="Microsoft.Extensions.Configuration.Binder" version="7.0.4" />
Expand All @@ -30,14 +30,14 @@
</dependencies>
</metadata>
<files>
<file src="IntrinioRealTimeSDK/bin/Release/net6.0/IntrinioRealtimeMultiExchange.dll" target="lib/net6.0" />
<file src="IntrinioRealTimeSDK/bin/Release/net6.0/IntrinioRealtimeMultiExchange.xml" target="lib/net6.0" />
<file src="IntrinioRealTimeSDK/bin/Release/net6.0/IntrinioRealtimeMultiExchange.pdb" target="lib/net6.0" />
<file src="IntrinioRealTimeSDK/bin/Release/net6.0/config.json" target="lib/net6.0" />
<file src="IntrinioRealTimeSDK/bin/Release/net6.0/IntrinioRealTimeSDK.deps.json" target="lib/net6.0" />
<file src="IntrinioRealTimeSDK/bin/Release/net6.0/IntrinioRealTimeSDK.dll" target="lib/net6.0" />
<file src="IntrinioRealTimeSDK/bin/Release/net6.0/IntrinioRealTimeSDK.pdb" target="lib/net6.0" />
<file src="IntrinioRealTimeSDK/bin/Release/net6.0/IntrinioRealTimeSDK.runtimeconfig.json" target="lib/net6.0" />
<file src="IntrinioRealTimeSDK/bin/Release/net8.0/IntrinioRealtimeMultiExchange.dll" target="lib/net8.0" />
<file src="IntrinioRealTimeSDK/bin/Release/net8.0/IntrinioRealtimeMultiExchange.xml" target="lib/net8.0" />
<file src="IntrinioRealTimeSDK/bin/Release/net8.0/IntrinioRealtimeMultiExchange.pdb" target="lib/net8.0" />
<file src="IntrinioRealTimeSDK/bin/Release/net8.0/config.json" target="lib/net8.0" />
<file src="IntrinioRealTimeSDK/bin/Release/net8.0/IntrinioRealTimeSDK.deps.json" target="lib/net8.0" />
<file src="IntrinioRealTimeSDK/bin/Release/net8.0/IntrinioRealTimeSDK.dll" target="lib/net8.0" />
<file src="IntrinioRealTimeSDK/bin/Release/net8.0/IntrinioRealTimeSDK.pdb" target="lib/net8.0" />
<file src="IntrinioRealTimeSDK/bin/Release/net8.0/IntrinioRealTimeSDK.runtimeconfig.json" target="lib/net8.0" />
<file src="intrinio.png" target="intrinio.png" />
<file src="README.md" target="README.md" />
</files>
Expand Down
2 changes: 1 addition & 1 deletion IntrinioRealTimeSDK/IntrinioRealTimeSDK.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net6.0</TargetFramework>
<TargetFramework>net8.0</TargetFramework>
<SatelliteResourceLanguages>en</SatelliteResourceLanguages>
</PropertyGroup>

Expand Down
22 changes: 7 additions & 15 deletions IntrinioRealtimeMultiExchange/Client.fs
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ type Client(
let useOnQuote : bool = not (obj.ReferenceEquals(onQuote,null))
let logPrefix : string = String.Format("{0}: ", config.Provider.ToString())
let clientInfoHeaderKey : string = "Client-Information"
let clientInfoHeaderValue : string = "IntrinioDotNetSDKv9.2"
let clientInfoHeaderValue : string = "IntrinioDotNetSDKv10.0"
let messageVersionHeaderKey : string = "UseNewEquitiesFormat"
let messageVersionHeaderValue : string = "v2"
let mainThreadPriority = Thread.CurrentThread.Priority //this is set outside of our scope - let's not interfere.
Expand Down Expand Up @@ -219,13 +219,10 @@ type Client(
let getToken() : string =
tLock.EnterUpgradeableReadLock()
try
if (DateTime.Now - TimeSpan.FromDays(1.0)) > (snd token)
then (fst token)
else
tLock.EnterWriteLock()
try doBackoff(trySetToken)
finally tLock.ExitWriteLock()
fst token
tLock.EnterWriteLock()
try doBackoff(trySetToken)
finally tLock.ExitWriteLock()
fst token
finally tLock.ExitUpgradeableReadLock()

let makeJoinMessage(tradesOnly: bool, symbol: string) : byte[] =
Expand Down Expand Up @@ -381,13 +378,8 @@ type Client(
wsLock.EnterWriteLock()
try wsState.IsReconnecting <- true
finally wsLock.ExitWriteLock()
if (DateTime.Now - TimeSpan.FromDays(5.0)) > (wsState.LastReset)
then
let _token : string = getToken()
resetWebSocket(_token)
else
try wsState.WebSocket.Open()
with _ -> ()
let _token : string = getToken()
resetWebSocket(_token)
false
doBackoff(reconnectFn)
let _token : string = getToken()
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<TargetFramework>net8.0</TargetFramework>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
</PropertyGroup>

Expand Down

0 comments on commit dd0a478

Please sign in to comment.