///|
pub async fn dispatch_http(
mocket : Mocket,
http_method : String,
url : String,
headers : Map[StringView, StringView],
raw_body : Bytes,
) -> HttpResponse noraise {
let (params, handler) = match mocket.find_route(http_method, url) {
Some((h, p)) => (p, h)
_ => ({}, handle_not_found())
}
let event = {
req: { http_method, url, raw_body, headers },
res: HttpResponse::new(OK),
params,
}
let responder = mocket.execute_middlewares(event, handler)
responder.options(event.res)
let buf = Buffer()
responder.output(buf)
event.res.raw_body = buf.to_bytes()
event.res
}