Skip to content

Commit 8ac12e3

Browse files
committed
Merge remote-tracking branch 'origin/main' into fix-ci
2 parents b000d75 + 6b6a7a6 commit 8ac12e3

File tree

6 files changed

+26
-8
lines changed

6 files changed

+26
-8
lines changed

jetstreamer-firehose/src/epochs.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -407,7 +407,7 @@ mod tests {
407407

408408
#[tokio::test]
409409
async fn test_fetch_epoch_stream() {
410-
let client = reqwest::Client::new();
410+
let client = crate::network::create_http_client();
411411
let mut stream = fetch_epoch_stream(670, &client).await;
412412

413413
/* first 1 KiB */
@@ -424,7 +424,7 @@ mod tests {
424424
#[tokio::test]
425425
async fn test_get_slot_timestamp() {
426426
// well-known public Solana RPC, slot 246446651 occurred in Apr 2024
427-
let client = reqwest::Client::new();
427+
let client = crate::network::create_http_client();
428428
let rpc_url = "https://api.mainnet-beta.solana.com";
429429
let slot = 246446651u64;
430430
let ts = get_slot_timestamp(slot, rpc_url, &client)
@@ -437,7 +437,7 @@ mod tests {
437437

438438
#[tokio::test]
439439
async fn test_epoch_exists() {
440-
let client = reqwest::Client::new();
440+
let client = crate::network::create_http_client();
441441
assert!(epoch_exists(670, &client).await);
442442
assert!(!epoch_exists(999999, &client).await);
443443
}

jetstreamer-firehose/src/firehose.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -686,7 +686,7 @@ where
686686
slot_range.start,
687687
));
688688
}
689-
let client = Client::new();
689+
let client = crate::network::create_http_client();
690690
log::info!(target: LOG_MODULE, "starting firehose...");
691691
log::info!(target: LOG_MODULE, "index base url: {}", SLOT_OFFSET_INDEX.base_url());
692692

jetstreamer-firehose/src/index.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -254,7 +254,7 @@ impl SlotOffsetIndex {
254254
}
255255
};
256256
Ok(Self {
257-
client: Client::new(),
257+
client: crate::network::create_http_client(),
258258
base_url,
259259
network,
260260
cache_namespace,

jetstreamer-firehose/src/main.rs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,15 @@
11
use {
2-
jetstreamer_firehose::{LOG_MODULE, firehose::firehose_geyser, index::get_index_base_url},
2+
jetstreamer_firehose::{
3+
LOG_MODULE, firehose::firehose_geyser, index::get_index_base_url,
4+
network::create_http_client,
5+
},
36
reqwest::Client,
47
std::{env::args, sync::Arc},
58
};
69

710
fn main() {
811
solana_logger::setup_with_default("info");
9-
let client = Client::new();
12+
let client = create_http_client();
1013
let index_base_url =
1114
get_index_base_url().expect("failed to resolve remote slot offset index location");
1215
let first_arg = args().nth(1).expect("no first argument given");

jetstreamer-firehose/src/network.rs

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,21 @@ use crate::{
55
epochs::{epoch_exists, epoch_to_slot_range},
66
};
77

8+
/// Creates a new HTTP client with the Jetstreamer user agent header.
9+
///
10+
/// The user agent is set to `jetstreamer/v{version}` where version comes from
11+
/// the crate version. If the `JETSTREAMER_VERSION` environment variable is set
12+
/// at build time (e.g., via CI/CD), it will be used instead, allowing git
13+
/// commit information to be included (e.g., `jetstreamer/v0.3.0+24d5efe-dirty`).
14+
pub fn create_http_client() -> Client {
15+
let version = option_env!("JETSTREAMER_VERSION").unwrap_or(env!("CARGO_PKG_VERSION"));
16+
let user_agent = format!("jetstreamer/v{}", version);
17+
Client::builder()
18+
.user_agent(user_agent)
19+
.build()
20+
.expect("failed to create HTTP client")
21+
}
22+
823
/// Queries the current epoch from mainnet using the Solana RPC API.
924
pub async fn current_epoch(client: &Client) -> Result<u64, SharedError> {
1025
let url = "https://api.mainnet-beta.solana.com";

jetstreamer-firehose/src/node_reader.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -354,7 +354,7 @@ pub fn cid_from_cbor_link(val: &serde_cbor::Value) -> Result<cid::Cid, SharedErr
354354
#[tokio::test]
355355
async fn test_async_node_reader() {
356356
use crate::epochs::fetch_epoch_stream;
357-
let client = reqwest::Client::new();
357+
let client = crate::network::create_http_client();
358358
let stream = fetch_epoch_stream(670, &client).await;
359359
let mut reader = NodeReader::new(stream);
360360
let nodes = reader.read_until_block().await.unwrap();

0 commit comments

Comments
 (0)