use std::io::{self, BufRead};
use tokio::runtime::Runtime;
fn main() {
let stdin = io::stdin();
let lines = stdin.lock().lines();
let mut lines_vec = Vec::new();
for line in lines {
let line_unwrap = line.unwrap();
if line_unwrap.starts_with("https://") || line_unwrap.starts_with("http://") {
let actual = line_unwrap.clone();
lines_vec.push(actual);
} else {
let actual = line_unwrap.clone();
lines_vec.push(format!("http://{}", actual));
lines_vec.push(format!("https://{}", actual));
}
}
let rt = Runtime::new().unwrap();
rt.block_on(async {
for line in lines_vec {
let client = reqwest::Client::new();
let request = client.get(line).build().unwrap();
let response = client.execute(request).await;
match response {
Ok(response) => {
if response.status().is_success() {
println!("{}", response.url());
}
},
Err(_e) => {
continue;
}
}
}
});
}