- main
- manifest
- deps
- main
- Install
- Run
use base64::{Engine, engine::general_purpose};
use fastly::http::header;
use fastly::{Error, Request, Response};
#[fastly::main]
fn main(mut req: Request) -> Result<Response, Error> {
let mut qs_map: std::collections::HashMap<String, String> = req.get_query()?;
if qs_map.contains_key("user") && qs_map.contains_key("pw") {
let auth_basic = format!(
"Basic {}",
general_purpose::STANDARD.encode(format!(
"{}:{}",
qs_map.remove("user").unwrap(),
qs_map.remove("pw").unwrap()
))
);
req.set_query(&qs_map)?;
req.set_header(header::AUTHORIZATION, &auth_basic);
}
Ok(req.send("origin_0")?)
}