From af28289904366cb7eca1c120ddddb00e55150f1e Mon Sep 17 00:00:00 2001 From: Dave Hrycyszyn Date: Tue, 10 Dec 2019 16:12:11 +0000 Subject: [PATCH] directory: starting to work out how to store request types --- src/clients/directory/healthcheck/requests.rs | 6 +++--- src/clients/directory/mod.rs | 10 ++++++++-- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/clients/directory/healthcheck/requests.rs b/src/clients/directory/healthcheck/requests.rs index 44787f6de1..d973244eeb 100644 --- a/src/clients/directory/healthcheck/requests.rs +++ b/src/clients/directory/healthcheck/requests.rs @@ -1,14 +1,14 @@ -struct Requester { +pub struct Requester { base_url: String } -trait HealthCheckRequester { +pub trait HealthCheckRequester { fn new(base_url: String) -> Self; fn get(&self) -> bool; } impl HealthCheckRequester for Requester { - fn new(base_url: String) -> Requester { + fn new(base_url: String) -> Self { Requester { base_url, } diff --git a/src/clients/directory/mod.rs b/src/clients/directory/mod.rs index 48f0b59a98..8d5615cda6 100644 --- a/src/clients/directory/mod.rs +++ b/src/clients/directory/mod.rs @@ -1,6 +1,7 @@ use sphinx::route::{Node as SphinxNode, Destination}; use crate::clients::directory::presence::models::Topology; use reqwest::Error; +use crate::clients::directory::healthcheck::requests::{Requester, HealthCheckRequester}; //use serde::Deserialize; @@ -18,12 +19,17 @@ pub trait DirectoryClient { // fn send_provider_presence(&self) -> Result; } -pub struct Client {} +pub struct Client { + health_check: Requester, +} impl DirectoryClient for Client { fn new(config: Config) -> Client { let topology = retrieve_topology().unwrap(); - Client {} + let hcr: Requester = Requester::new(config.base_url); + Client { + health_check: hcr, + } } fn get_topology(&self) -> Result {