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

#[fastly::main]
fn main(_req: Request) -> Result<Response, Error> {

  let lookup_result = match fastly::Acl::open("test") {
          Ok(acl) => acl.try_lookup("1.2.3.4".parse()?)?,
          Err(_) => None
  };

  match lookup_result {
    Some(acl_result) => {

      if acl_result.is_allow() {
        Ok(Response::from_body("allowed!"))
      } else {
        Ok(Response::from_status(403).with_body("blocked!"))
      }

    },
    None => Ok(Response::from_status(403).with_body("blocked!"))
  }

}