pub async fn write_forbidden( ctx: &mut dyn IHttpContext, detail: impl Into<String>, extensions: HashMap<String, Value>, )
403 with optional extension fields (e.g. required_role).
required_role