mirror of
https://github.com/alexgo-io/stacks-puppet-node.git
synced 2026-01-13 08:40:45 +08:00
chore: update h1-async for prom impl in stacks-node
This commit is contained in:
@@ -142,7 +142,6 @@ async fn main() -> http_types::Result<()> {
|
||||
let should_ignore_txs = config.should_ignore_transactions(effective_block_height - 1);
|
||||
|
||||
let stream = stream?;
|
||||
let addr = addr.clone();
|
||||
|
||||
if should_ignore_txs {
|
||||
// Returns ok
|
||||
@@ -152,17 +151,17 @@ async fn main() -> http_types::Result<()> {
|
||||
})
|
||||
.await?;
|
||||
// Enqueue request
|
||||
buffered_requests.push_back((addr, stream));
|
||||
buffered_requests.push_back(stream);
|
||||
} else {
|
||||
// Dequeue all the requests we've been buffering
|
||||
while let Some((addr, stream)) = buffered_requests.pop_front() {
|
||||
while let Some(stream) = buffered_requests.pop_front() {
|
||||
let config = config.clone();
|
||||
task::spawn(async move {
|
||||
println!(
|
||||
"Dequeuing buffered request from {}",
|
||||
stream.peer_addr().unwrap()
|
||||
);
|
||||
if let Err(err) = accept(addr, stream, &config).await {
|
||||
if let Err(err) = accept(stream, &config).await {
|
||||
eprintln!("{}", err);
|
||||
}
|
||||
});
|
||||
@@ -171,7 +170,7 @@ async fn main() -> http_types::Result<()> {
|
||||
let config = config.clone();
|
||||
task::spawn(async move {
|
||||
println!("Handling request from {}", stream.peer_addr().unwrap());
|
||||
if let Err(err) = accept(addr, stream, &config).await {
|
||||
if let Err(err) = accept(stream, &config).await {
|
||||
eprintln!("{}", err);
|
||||
}
|
||||
});
|
||||
@@ -181,7 +180,7 @@ async fn main() -> http_types::Result<()> {
|
||||
}
|
||||
|
||||
// Take a TCP stream, and convert it into sequential HTTP request / response pairs.
|
||||
async fn accept(_addr: String, stream: TcpStream, config: &ConfigFile) -> http_types::Result<()> {
|
||||
async fn accept(stream: TcpStream, config: &ConfigFile) -> http_types::Result<()> {
|
||||
async_h1::accept(stream.clone(), |mut req| async {
|
||||
match (
|
||||
req.method(),
|
||||
|
||||
@@ -35,7 +35,7 @@ pub fn start_serving_prometheus_metrics(bind_address: String) {
|
||||
let addr = addr.clone();
|
||||
|
||||
task::spawn(async {
|
||||
if let Err(err) = accept(addr, stream).await {
|
||||
if let Err(err) = accept(stream).await {
|
||||
eprintln!("{}", err);
|
||||
}
|
||||
});
|
||||
@@ -43,18 +43,16 @@ pub fn start_serving_prometheus_metrics(bind_address: String) {
|
||||
});
|
||||
}
|
||||
|
||||
async fn accept(addr: String, stream: TcpStream) -> http_types::Result<()> {
|
||||
async fn accept(stream: TcpStream) -> http_types::Result<()> {
|
||||
debug!("Handle Prometheus polling ({})", stream.peer_addr()?);
|
||||
async_h1::accept(&addr, stream.clone(), |_| async {
|
||||
async_h1::accept(stream.clone(), |_| async {
|
||||
let encoder = TextEncoder::new();
|
||||
let metric_families = gather();
|
||||
let mut buffer = vec![];
|
||||
encoder.encode(&metric_families, &mut buffer).unwrap();
|
||||
|
||||
let mut response = Response::new(StatusCode::Ok);
|
||||
response
|
||||
.append_header("Content-Type", encoder.format_type())
|
||||
.expect("Unable to set headers");
|
||||
response.append_header("Content-Type", encoder.format_type());
|
||||
response.set_body(Body::from(buffer));
|
||||
|
||||
Ok(response)
|
||||
|
||||
Reference in New Issue
Block a user