diff --git a/server.go b/server.go index 86b979c..9be8c94 100644 --- a/server.go +++ b/server.go @@ -795,6 +795,17 @@ func (hc *HttpApiBroker) AddHandler(receiver HttpApiHandler) { } } +func (hc *HttpApiBroker) CallByHeader(w http.ResponseWriter, r *http.Request) { + funcname := r.Header.Get("AS-X-CALL") + if len(funcname) == 0 { + logger.Println("as-x-call header is missing") + w.WriteHeader(http.StatusBadRequest) + return + } + + hc.call(funcname, w, r) +} + func (hc *HttpApiBroker) Call(w http.ResponseWriter, r *http.Request) { funcname := r.URL.Query().Get("call") if len(funcname) == 0 {