Skip to content

Commit c74bfdb

Browse files
committed
feat(executor): support https schema for subgraph calls
1 parent 6f3d69f commit c74bfdb

File tree

2 files changed

+7
-3
lines changed

2 files changed

+7
-3
lines changed

lib/executor/src/executors/http.rs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ use http::HeaderValue;
1313
use http_body_util::BodyExt;
1414
use http_body_util::Full;
1515
use hyper::Version;
16+
use hyper_tls::HttpsConnector;
1617
use hyper_util::client::legacy::{connect::HttpConnector, Client};
1718
use tokio::sync::Semaphore;
1819

@@ -28,7 +29,7 @@ use crate::{executors::common::SubgraphExecutor, json_writer::write_and_escape_s
2829
#[derive(Debug)]
2930
pub struct HTTPSubgraphExecutor {
3031
pub endpoint: http::Uri,
31-
pub http_client: Arc<Client<HttpConnector, Full<Bytes>>>,
32+
pub http_client: Arc<Client<HttpsConnector<HttpConnector>, Full<Bytes>>>,
3233
pub header_map: HeaderMap,
3334
pub semaphore: Arc<Semaphore>,
3435
pub config: Arc<TrafficShapingExecutorConfig>,
@@ -42,7 +43,7 @@ const FIRST_QUOTE_STR: &[u8] = b"{\"query\":";
4243
impl HTTPSubgraphExecutor {
4344
pub fn new(
4445
endpoint: http::Uri,
45-
http_client: Arc<Client<HttpConnector, Full<Bytes>>>,
46+
http_client: Arc<Client<HttpsConnector<HttpConnector>, Full<Bytes>>>,
4647
semaphore: Arc<Semaphore>,
4748
config: Arc<TrafficShapingExecutorConfig>,
4849
in_flight_requests: Arc<
@@ -58,6 +59,7 @@ impl HTTPSubgraphExecutor {
5859
http::header::CONNECTION,
5960
HeaderValue::from_static("keep-alive"),
6061
);
62+
6163
Self {
6264
endpoint,
6365
http_client,

lib/executor/src/executors/map.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ use bytes::{BufMut, Bytes, BytesMut};
44
use dashmap::DashMap;
55
use hive_router_config::traffic_shaping::TrafficShapingExecutorConfig;
66
use http::Uri;
7+
use hyper_tls::HttpsConnector;
78
use hyper_util::{
89
client::legacy::Client,
910
rt::{TokioExecutor, TokioTimer},
@@ -69,11 +70,12 @@ impl SubgraphExecutorMap {
6970
subgraph_endpoint_map: HashMap<String, String>,
7071
config: TrafficShapingExecutorConfig,
7172
) -> Result<Self, SubgraphExecutorError> {
73+
let https = HttpsConnector::new();
7274
let client = Client::builder(TokioExecutor::new())
7375
.pool_timer(TokioTimer::new())
7476
.pool_idle_timeout(Duration::from_secs(config.pool_idle_timeout_seconds))
7577
.pool_max_idle_per_host(config.max_connections_per_host)
76-
.build_http();
78+
.build(https);
7779

7880
let client_arc = Arc::new(client);
7981
let semaphores_by_origin: DashMap<String, Arc<Semaphore>> = DashMap::new();

0 commit comments

Comments
 (0)