use fastly::{Error, Request, Response};
use serde_json::json;

#[fastly::main]
fn main(req: Request) -> Result<Response, Error> {
    let json = match req.get_client_ip_addr() {
        Some(ip_addr) => json!({ "ClientIP": ip_addr }),
        None => json!({ "ClientIP": null }),
    };

    Ok(Response::new().with_body_json(&json)?)
}