Switch to logging.
This commit is contained in:
@@ -45,12 +45,12 @@ impl GithubEndpointWatcher {
|
||||
.header("Accept", "application/vnd.github.v3+json");
|
||||
if let Some(etag) = &self.etag {
|
||||
let trimmed = etag.to_str()?.trim_matches('"');
|
||||
println!("Setting etag to {}", trimmed);
|
||||
info!("Setting etag to {}", trimmed);
|
||||
request = request.header(reqwest::header::ETAG, trimmed);
|
||||
}
|
||||
if let Some(last_modified_at) = &self.last_modified_at {
|
||||
// let trimmed = etag.to_str()?.trim_matches('"');
|
||||
println!(
|
||||
info!(
|
||||
"Setting If-Modified-Since to {}",
|
||||
last_modified_at.to_str()?
|
||||
);
|
||||
@@ -59,7 +59,7 @@ impl GithubEndpointWatcher {
|
||||
self.sleep_until_next_poll().await?;
|
||||
self.sleep_until_ratelimit().await?;
|
||||
let request_started_at = SystemTime::now().duration_since(UNIX_EPOCH)?.as_secs();
|
||||
println!("Hitting url {}", self.url);
|
||||
info!("Hitting url {}", self.url);
|
||||
let response = request.send().await?;
|
||||
|
||||
let headers = response.headers();
|
||||
@@ -77,13 +77,18 @@ impl GithubEndpointWatcher {
|
||||
if let reqwest::StatusCode::NOT_MODIFIED = response.status() {
|
||||
self.etag = etag;
|
||||
self.last_modified_at = last_modified_at;
|
||||
let poll_interval_parsed: u64 = poll_interval.unwrap_or_else(|| {
|
||||
info!("No poll interval returned, defaulting to 5 minute polling.");
|
||||
300
|
||||
});
|
||||
self.next_poll_allowed = request_started_at + poll_interval_parsed;
|
||||
return Ok(None);
|
||||
} else {
|
||||
let body = response.json::<serde_json::Value>().await?;
|
||||
self.etag = etag;
|
||||
self.last_modified_at = last_modified_at;
|
||||
let poll_interval_parsed: u64 = poll_interval.unwrap_or_else(|| {
|
||||
println!("No poll interval returned, defaulting to 5 minute polling.");
|
||||
info!("No poll interval returned, defaulting to 5 minute polling.");
|
||||
300
|
||||
});
|
||||
self.next_poll_allowed = request_started_at + poll_interval_parsed;
|
||||
|
||||
@@ -81,21 +81,21 @@ impl<'a> GithubCtl<'a> {
|
||||
let api_result = match endpoint_watcher.get_results().await {
|
||||
Ok(result) => result,
|
||||
Err(e) => {
|
||||
println!("Failed to get results. {}", e);
|
||||
error!("Failed to get results. {}", e);
|
||||
return;
|
||||
}
|
||||
};
|
||||
if let Some(serde_json::Value::Array(events)) = api_result {
|
||||
for event in events {
|
||||
if let Err(_) = event_stream.send(event).await {
|
||||
println!("Receiver dropped.");
|
||||
error!("Receiver dropped.");
|
||||
return;
|
||||
}
|
||||
}
|
||||
} else if let None = api_result {
|
||||
println!("No new results available.");
|
||||
info!("No new results available.");
|
||||
} else {
|
||||
println!("Unsupported JSON type.");
|
||||
error!("Unsupported JSON type.");
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
#[macro_use]
|
||||
extern crate log;
|
||||
|
||||
mod githubctl;
|
||||
|
||||
use serde_json;
|
||||
@@ -9,10 +12,11 @@ const REPO: &'static str = include_str!("../.repo");
|
||||
|
||||
#[tokio::main]
|
||||
async fn main() -> Result<(), Box<dyn std::error::Error>> {
|
||||
pretty_env_logger::init();
|
||||
let mut github = githubctl::GithubCtl::new(USERNAME, TOKEN)?;
|
||||
github.watch_repo(ORG, REPO).await?;
|
||||
loop {
|
||||
let event = github.get_event().await?;
|
||||
// println!("{}", serde_json::to_string(&event)?);
|
||||
println!("{}", serde_json::to_string(&event)?);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user