use fastly::{Error, Request, Response};
use std::net::IpAddr;
#[fastly::main]
fn main(req: Request) -> Result<Response, Error> {
log_fastly::init_simple("mylogs", log::LevelFilter::Info);
let client_ip = req.get_client_ip_addr().unwrap();
log::info!(
"client_ip={} is {}",
client_ip.to_string(),
four_or_six(client_ip)
);
Ok(Response::new())
}
fn four_or_six(ip: IpAddr) -> String {
match ip.is_ipv4() {
true => "IPv4".to_string(),
false => "IPv6".to_string(),
}
}