package localserver // import ( // "context" // "encoding/json" // "io" // "net/http" // ) // type ( // WebRTCHttpMiddleware struct { // //menuItem *systray.MenuItem // } // ) // const ( // CREATE_HOSTED_SQUAD = "create_hosted_squad" // ) // // func NewWebRTCHttpMiddleware(menuItem *systray.MenuItem) (webRTCHttpMiddleware *WebRTCHttpMiddleware) { // // webRTCHttpMiddleware = &WebRTCHttpMiddleware{ // // menuItem: menuItem, // // } // // return // // } // func (wm *WebRTCHttpMiddleware) Process(ctx context.Context, req *http.Request) (err error) { // done, errCh := make(chan struct{}), make(chan error) // go func() { // localServerReq, err := wm.unmarshallBody(req) // if err != nil { // errCh <- err // return // } // switch localServerReq.ReqType { // case CREATE_HOSTED_SQUAD: // default: // } // }() // select { // case <-done: // return // case err = <-errCh: // return // case <-ctx.Done(): // err = ctx.Err() // return // } // } // func (wm *WebRTCHttpMiddleware) unmarshallBody(req *http.Request) (localServerReq *LocalServerRequest, err error) { // reqBody, err := req.GetBody() // if err != nil { // return // } // bs, err := io.ReadAll(reqBody) // if err != nil { // return // } // err = json.Unmarshal(bs, &localServerReq) // if err != nil { // return // } // return // }