- main
- manifest
- deps
- main
- Install
- Run
use fastly::{Error, Request, Response};
use regex::Regex;
#[fastly::main]
fn main(mut req: Request) -> Result<Response, Error> {
let mut strip_query = match req.get_header_str("Sec-Fetch-Dest") {
Some(content_type) => {
let content_regex = Regex::new(r"^(audio|audioworklet|embed|font|image|manifest|object|paintworklet|script|sharedworker|style|track|video|worker|xslt)$")?;
content_regex.is_match(content_type)
},
None => false
};
let path_regex = Regex::new(r"\.(jpe?g|gif|png|webp|css|)$")?;
if path_regex.is_match(req.get_url().path()) {
strip_query = true;
}
if strip_query {
println!("Removing query string from URL {}", req.get_url());
req.get_url_mut().set_query(None);
println!("URL forwarded to origin is {}", req.get_url());
}
let beresp = req.send("origin_0")?;
Ok(beresp)
}