Move /api/1/ related proxy functionality
This commit is contained in:
@@ -1,8 +1,10 @@
|
||||
use chrono::{DateTime, Duration, Utc};
|
||||
use clap::Clap;
|
||||
use daqbuffer::cli::{ClientType, Opts, SubCmd};
|
||||
use disk::binned::query::CacheUsage;
|
||||
use err::Error;
|
||||
use netpod::log::*;
|
||||
use netpod::{NodeConfig, NodeConfigCached};
|
||||
use netpod::{NodeConfig, NodeConfigCached, ProxyConfig};
|
||||
use tokio::fs::File;
|
||||
use tokio::io::AsyncReadExt;
|
||||
|
||||
@@ -45,8 +47,6 @@ fn parse_ts(s: &str) -> Result<DateTime<Utc>, Error> {
|
||||
}
|
||||
|
||||
async fn go() -> Result<(), Error> {
|
||||
use clap::Clap;
|
||||
use daqbuffer::cli::{ClientType, Opts, SubCmd};
|
||||
let opts = Opts::parse();
|
||||
match opts.subcmd {
|
||||
SubCmd::Retrieval(subcmd) => {
|
||||
@@ -61,6 +61,14 @@ async fn go() -> Result<(), Error> {
|
||||
let node_config = node_config?;
|
||||
daqbuffer::run_node(node_config.clone()).await?;
|
||||
}
|
||||
SubCmd::Proxy(subcmd) => {
|
||||
info!("daqbuffer proxy {}", clap::crate_version!());
|
||||
let mut config_file = File::open(subcmd.config).await?;
|
||||
let mut buf = vec![];
|
||||
config_file.read_to_end(&mut buf).await?;
|
||||
let proxy_config: ProxyConfig = serde_json::from_slice(&buf)?;
|
||||
daqbuffer::run_proxy(proxy_config.clone()).await?;
|
||||
}
|
||||
SubCmd::Client(client) => match client.client_type {
|
||||
ClientType::Status(opts) => {
|
||||
daqbuffer::client::status(opts.host, opts.port).await?;
|
||||
|
||||
@@ -12,6 +12,7 @@ pub struct Opts {
|
||||
#[derive(Debug, Clap)]
|
||||
pub enum SubCmd {
|
||||
Retrieval(Retrieval),
|
||||
Proxy(Proxy),
|
||||
Client(Client),
|
||||
GenerateTestData,
|
||||
}
|
||||
@@ -22,6 +23,12 @@ pub struct Retrieval {
|
||||
pub config: String,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clap)]
|
||||
pub struct Proxy {
|
||||
#[clap(long)]
|
||||
pub config: String,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clap)]
|
||||
pub struct Client {
|
||||
#[clap(subcommand)]
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
use err::Error;
|
||||
use netpod::{Cluster, NodeConfig, NodeConfigCached};
|
||||
use netpod::{Cluster, NodeConfig, NodeConfigCached, ProxyConfig};
|
||||
use tokio::task::JoinHandle;
|
||||
#[allow(unused_imports)]
|
||||
use tracing::{debug, error, info, trace, warn};
|
||||
@@ -29,3 +29,8 @@ pub async fn run_node(node_config: NodeConfigCached) -> Result<(), Error> {
|
||||
httpret::host(node_config).await?;
|
||||
Ok(())
|
||||
}
|
||||
|
||||
pub async fn run_proxy(proxy_config: ProxyConfig) -> Result<(), Error> {
|
||||
httpret::proxy(proxy_config).await?;
|
||||
Ok(())
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user