#![allow(
dead_code
)]
use crate::{ respond, Respond };
use std::{
net::TcpStream, collections::HashMap
};
fn require_headers(
mut stream:TcpStream,
headers:HashMap<&str, &str>,
required:&[&str]
) -> bool {
let keys:Vec<&&str> = headers.keys().collect();
let mut missing_headers:Vec<&&str> = Vec::with_capacity(required.len());
for key in required {
if !keys.contains(&key) {
missing_headers.push(&key);
};
};
if !missing_headers.is_empty() {
respond(
&mut stream,
400u16,
Respond::text(
&format!(
"Missing headers: [{:?}]",
missing_headers
)
)
);
true
}
else { false }
}