- main
- manifest
- deps
- main
- Install
- Run
use fastly::http::header;
use fastly::{Error, Request, Response};
use glob::Pattern;
const BACKEND_NAME: &str = "origin_0";
#[fastly::main]
fn main(mut req: Request) -> Result<Response, Error> {
req.set_header(header::HOST, "example.com");
let pattern = Pattern::new("utm_*").expect("Invalid glob pattern");
let mut qs: Vec<(String, String)> = req.get_query()?;
qs.retain(|param| !pattern.matches(¶m.0));
if let Ok(pop_name) = std::env::var("FASTLY_POP") {
qs.push(("dc".to_owned(), pop_name));
}
req.set_query(&qs)?;
Ok(req.send(BACKEND_NAME)?)
}