diff options
Diffstat (limited to 'binapi/gre/gre_rest.ba.go')
-rw-r--r-- | binapi/gre/gre_rest.ba.go | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/binapi/gre/gre_rest.ba.go b/binapi/gre/gre_rest.ba.go new file mode 100644 index 0000000..d344aa8 --- /dev/null +++ b/binapi/gre/gre_rest.ba.go @@ -0,0 +1,37 @@ +// Code generated by GoVPP's binapi-generator. DO NOT EDIT. + +package gre + +import ( + "encoding/json" + "io/ioutil" + "net/http" +) + +func RESTHandler(rpc RPCService) http.Handler { + mux := http.NewServeMux() + mux.HandleFunc("/gre_tunnel_add_del", func(w http.ResponseWriter, req *http.Request) { + var request = new(GreTunnelAddDel) + b, err := ioutil.ReadAll(req.Body) + if err != nil { + http.Error(w, "read body failed", http.StatusBadRequest) + return + } + if err := json.Unmarshal(b, request); err != nil { + http.Error(w, "unmarshal data failed", http.StatusBadRequest) + return + } + reply, err := rpc.GreTunnelAddDel(req.Context(), request) + if err != nil { + http.Error(w, "request failed: "+err.Error(), http.StatusInternalServerError) + return + } + rep, err := json.MarshalIndent(reply, "", " ") + if err != nil { + http.Error(w, "marshal failed: "+err.Error(), http.StatusInternalServerError) + return + } + w.Write(rep) + }) + return http.HandlerFunc(mux.ServeHTTP) +} |