Этот код работает, но я не понимаю, как.
В приведенном ниже коде hostProxy [host] может содержать или не содержать функцию. Я не понимаю, как определяется переменная «ОК» или как она получает свое значение. Он не определен перед этой строкой.
if fn, ok := hostProxy[host]; ok {
fn.ServeHTTP(w, r)
return
}
if target, ok := hostTarget[host]; ok {
....
}