mirror of
https://github.com/logos-blockchain/logos-blockchain-pocs.git
synced 2026-01-09 16:43:09 +00:00
credentials
This commit is contained in:
parent
c1d14a1ef9
commit
dcf80d95b1
@ -2,34 +2,51 @@ use std::ops::Range;
|
||||
|
||||
use executor_http_client::{BasicAuthCredentials, ExecutorHttpClient};
|
||||
use nomos::CryptarchiaInfo;
|
||||
use reqwest::Url;
|
||||
use reqwest::{RequestBuilder, Url};
|
||||
use serde::{Deserialize, Serialize};
|
||||
use tracing::{error, error_span, info};
|
||||
use tracing::{error, info};
|
||||
|
||||
pub const CRYPTARCHIA_INFO: &str = "/cryptarchia/info";
|
||||
pub const STORAGE_BLOCK: &str = "/storage/block";
|
||||
|
||||
mod nomos;
|
||||
|
||||
#[derive(Clone, Debug)]
|
||||
pub struct Credentials {
|
||||
pub username: String,
|
||||
pub password: Option<String>,
|
||||
}
|
||||
|
||||
pub struct NomosClient {
|
||||
base_url: Url,
|
||||
reqwest_client: reqwest::Client,
|
||||
basic_auth: Credentials,
|
||||
}
|
||||
|
||||
impl NomosClient {
|
||||
pub fn new(base_url: Url) -> Self {
|
||||
pub fn new(base_url: Url, basic_auth: Credentials) -> Self {
|
||||
Self {
|
||||
base_url,
|
||||
reqwest_client: reqwest::Client::new(),
|
||||
basic_auth,
|
||||
}
|
||||
}
|
||||
|
||||
pub async fn get_cryptarchia_info(
|
||||
&self,
|
||||
base_url: Url,
|
||||
) -> Result<CryptarchiaInfo, reqwest::Error> {
|
||||
let url = base_url.join(CRYPTARCHIA_INFO).expect("Invalid URL");
|
||||
let response = self.reqwest_client.get(url).send().await?;
|
||||
pub async fn get_cryptarchia_info(&self) -> Result<CryptarchiaInfo, reqwest::Error> {
|
||||
let url = self.base_url.join(CRYPTARCHIA_INFO).expect("Invalid URL");
|
||||
|
||||
let request = self.reqwest_client.get(url).basic_auth(
|
||||
self.basic_auth.username.clone(),
|
||||
self.basic_auth.password.clone(),
|
||||
);
|
||||
|
||||
info!("Sending request with creds {:?}", self.basic_auth);
|
||||
|
||||
let response = request.send().await?;
|
||||
if !response.status().is_success() {
|
||||
error!("Failed to get cryptarchia info: {}", response.status());
|
||||
}
|
||||
|
||||
let info = response.json::<CryptarchiaInfo>().await?;
|
||||
Ok(info)
|
||||
}
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
use clap::Parser;
|
||||
use evm_lightnode::NomosClient;
|
||||
use evm_lightnode::{Credentials, NomosClient};
|
||||
use executor_http_client::BasicAuthCredentials;
|
||||
use url::Url;
|
||||
|
||||
use std::error;
|
||||
@ -19,13 +20,22 @@ async fn main() -> Result<(), Box<dyn error::Error>> {
|
||||
let args = Args::parse();
|
||||
|
||||
let url = std::env::var("NOMOS_EXECUTOR").unwrap_or(TESTNET_EXECUTOR.to_string());
|
||||
let user = std::env::var("NOMOS_USER").unwrap_or_default();
|
||||
let password = std::env::var("NOMOS_PASSWORD").unwrap_or_default();
|
||||
let basic_auth = Credentials {
|
||||
username: user,
|
||||
password: Some(password),
|
||||
};
|
||||
|
||||
let filter =
|
||||
EnvFilter::try_from_default_env().unwrap_or_else(|_| EnvFilter::new(&args.log_level));
|
||||
|
||||
fmt::fmt().with_env_filter(filter).with_target(false).init();
|
||||
|
||||
let consensus = NomosClient::new(Url::parse(&url).unwrap());
|
||||
let consensus = NomosClient::new(Url::parse(&url).unwrap(), basic_auth);
|
||||
|
||||
let info = consensus.get_cryptarchia_info().await?;
|
||||
println!("Cryptarchia Info: {:?}", info);
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user