Example #1
0
File: https.go Project: awgh/ratnet
func (Module) handleResponse(w http.ResponseWriter, r *http.Request, node api.Node, adminMode bool) {
	var a api.RemoteCall
	decoder := json.NewDecoder(r.Body)
	err := decoder.Decode(&a)
	if err != nil {
		log.Println(err.Error())
	}
	var result string
	if adminMode {
		result, err = node.AdminRPC(a.Action, a.Args...)
	} else {
		result, err = node.PublicRPC(a.Action, a.Args...)
	}
	if err != nil {
		log.Println(err.Error())
	} else if len(result) < 1 {
		result = "OK" // todo: for backwards compatability, remove when nothing needs it
	}
	w.Write([]byte(result))
}