Skip to content

Commit 0fac1d6

Browse files
authored
support second aggs (#115)
* unserialize currencies second aggs * support subscribing to indices fx and crypto second aggs
1 parent 75bd92d commit 0fac1d6

File tree

2 files changed

+7
-4
lines changed

2 files changed

+7
-4
lines changed

src/main/kotlin/io/polygon/kotlin/sdk/websocket/PolygonWebSocketClient.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -220,10 +220,10 @@ constructor(
220220
"Q" -> serializer.decodeFromJsonElement(StocksMessage.Quote.serializer(), frame)
221221
"A", "AM" -> serializer.decodeFromJsonElement(StocksMessage.Aggregate.serializer(), frame)
222222
"C" -> serializer.decodeFromJsonElement(ForexMessage.Quote.serializer(), frame)
223-
"CA" -> serializer.decodeFromJsonElement(ForexMessage.Aggregate.serializer(), frame)
223+
"CA", "CAS" -> serializer.decodeFromJsonElement(ForexMessage.Aggregate.serializer(), frame)
224224
"XQ" -> serializer.decodeFromJsonElement(CryptoMessage.Quote.serializer(), frame)
225225
"XT" -> serializer.decodeFromJsonElement(CryptoMessage.Trade.serializer(), frame)
226-
"XA" -> serializer.decodeFromJsonElement(CryptoMessage.Aggregate.serializer(), frame)
226+
"XA", "XAS" -> serializer.decodeFromJsonElement(CryptoMessage.Aggregate.serializer(), frame)
227227
"XS" -> serializer.decodeFromJsonElement(CryptoMessage.ConsolidatedQuote.serializer(), frame)
228228
"XL2" -> serializer.decodeFromJsonElement(CryptoMessage.Level2Tick.serializer(), frame)
229229
"V" -> serializer.decodeFromJsonElement(IndicesMessage.Value.serializer(), frame)
@@ -282,4 +282,4 @@ private class WebSocketConnection(
282282
webSocketSession.close()
283283
httpClient.close()
284284
}
285-
}
285+
}

src/main/kotlin/io/polygon/kotlin/sdk/websocket/PolygonWebSocketSubscription.kt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ sealed class PolygonWebSocketChannel(val prefix: String) {
3232
*/
3333
sealed class Forex(channelPrefix: String) : PolygonWebSocketChannel(channelPrefix) {
3434
object Quotes: Forex("C")
35+
object AggPerSecond: Forex("CAS")
3536
object AggPerMinute: Forex("CA")
3637
object Bonds: Forex("BONDS")
3738
object Commodities: Forex("COMMODITIES")
@@ -47,12 +48,14 @@ sealed class PolygonWebSocketChannel(val prefix: String) {
4748
object Trades : Crypto("XT")
4849
object Quotes : Crypto("XQ")
4950
object Aggregates : Crypto("XA")
51+
object AggPerSecond : Crypto("XAS")
5052
object ConsolidatedQuotes : Crypto("XS")
5153
object Level2Books : Crypto("XL2")
5254
}
5355

5456
sealed class Indices(channelPrefix: String) : PolygonWebSocketChannel(channelPrefix) {
5557
object Aggregates : Stocks("AM")
58+
object AggPerSecond : Stocks("A")
5659
object Value : Indices("V")
5760
}
5861

@@ -65,4 +68,4 @@ sealed class PolygonWebSocketChannel(val prefix: String) {
6568
* Use this if there's a new channel that this SDK doesn't fully support yet
6669
*/
6770
class Other(channelPrefix: String) : PolygonWebSocketChannel(channelPrefix)
68-
}
71+
}

0 commit comments

Comments
 (0)