github_email/methods/
by_network_events.rs

1use super::*;
2
3/// Collect authors email from comment
4///
5/// API: <https://api.github.com/networks/{OWNER}/{REPO}/events>
6pub async fn collect_network_events(owner: &str, repo: &str, authors: &mut Authors) -> Result<()> {
7    let url = format!("https://api.github.com/networks/{owner}/{repo}/events");
8    let out = Client::new().get(url).header(USER_AGENT, "octocat").send().await?;
9    let text = out.text().await?;
10    let value = Value::from_str(&text)?;
11
12    match &value {
13        Value::Array(events) => {
14            for event in events {
15                read_payload(event, authors);
16            }
17            return Ok(());
18        }
19        Value::Object(o) => match o.get("message").and_then(|v| v.as_str()) {
20            Some(s) => return Err(GithubError::RuntimeError(s.to_string())),
21            None => {}
22        },
23        _ => {}
24    };
25    Err(GithubError::RuntimeError(format!("Unknown response when call from_user_events: {text}")))
26}