Add paper URL support
Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
use super::ThreadType;
|
||||
use crate::{
|
||||
config::{Config, ALPACA_CRYPTO_DATA_URL, ALPACA_STOCK_DATA_URL},
|
||||
config::{Config, ALPACA_CRYPTO_DATA_API_URL, ALPACA_STOCK_DATA_API_URL},
|
||||
database,
|
||||
types::{
|
||||
alpaca::{
|
||||
@@ -77,6 +77,7 @@ pub async fn run(handler: Arc<Box<dyn Handler>>, mut receiver: mpsc::Receiver<Me
|
||||
|
||||
loop {
|
||||
let message = receiver.recv().await.unwrap();
|
||||
|
||||
spawn(handle_backfill_message(
|
||||
handler.clone(),
|
||||
backfill_jobs.clone(),
|
||||
@@ -414,12 +415,12 @@ pub fn create_handler(thread_type: ThreadType, config: Arc<Config>) -> Box<dyn H
|
||||
match thread_type {
|
||||
ThreadType::Bars(Class::UsEquity) => Box::new(BarHandler {
|
||||
config,
|
||||
data_url: ALPACA_STOCK_DATA_URL,
|
||||
data_url: ALPACA_STOCK_DATA_API_URL,
|
||||
api_query_constructor: us_equity_query_constructor,
|
||||
}),
|
||||
ThreadType::Bars(Class::Crypto) => Box::new(BarHandler {
|
||||
config,
|
||||
data_url: ALPACA_CRYPTO_DATA_URL,
|
||||
data_url: ALPACA_CRYPTO_DATA_API_URL,
|
||||
api_query_constructor: crypto_query_constructor,
|
||||
}),
|
||||
ThreadType::News => Box::new(NewsHandler { config }),
|
||||
|
@@ -4,7 +4,8 @@ mod websocket;
|
||||
use super::clock;
|
||||
use crate::{
|
||||
config::{
|
||||
Config, ALPACA_CRYPTO_WEBSOCKET_URL, ALPACA_NEWS_WEBSOCKET_URL, ALPACA_STOCK_WEBSOCKET_URL,
|
||||
Config, ALPACA_CRYPTO_DATA_WEBSOCKET_URL, ALPACA_NEWS_DATA_WEBSOCKET_URL,
|
||||
ALPACA_STOCK_DATA_WEBSOCKET_URL,
|
||||
},
|
||||
create_send_await, database,
|
||||
types::{alpaca, Asset, Class},
|
||||
@@ -99,10 +100,13 @@ async fn init_thread(
|
||||
) {
|
||||
let websocket_url = match thread_type {
|
||||
ThreadType::Bars(Class::UsEquity) => {
|
||||
format!("{}/{}", ALPACA_STOCK_WEBSOCKET_URL, &config.alpaca_source)
|
||||
format!(
|
||||
"{}/{}",
|
||||
ALPACA_STOCK_DATA_WEBSOCKET_URL, &config.alpaca_source
|
||||
)
|
||||
}
|
||||
ThreadType::Bars(Class::Crypto) => ALPACA_CRYPTO_WEBSOCKET_URL.into(),
|
||||
ThreadType::News => ALPACA_NEWS_WEBSOCKET_URL.into(),
|
||||
ThreadType::Bars(Class::Crypto) => ALPACA_CRYPTO_DATA_WEBSOCKET_URL.into(),
|
||||
ThreadType::News => ALPACA_NEWS_DATA_WEBSOCKET_URL.into(),
|
||||
};
|
||||
|
||||
let (websocket, _) = connect_async(websocket_url).await.unwrap();
|
||||
|
@@ -186,9 +186,7 @@ async fn handle_websocket_message(
|
||||
) {
|
||||
match message {
|
||||
tungstenite::Message::Text(message) => {
|
||||
let message = from_str::<Vec<websocket::data::incoming::Message>>(&message);
|
||||
|
||||
if let Ok(message) = message {
|
||||
if let Ok(message) = from_str::<Vec<websocket::data::incoming::Message>>(&message) {
|
||||
for message in message {
|
||||
let handler = handler.clone();
|
||||
let pending = pending.clone();
|
||||
|
Reference in New Issue
Block a user