package localserver // type ( // LogMiddleware struct { // menuItem *systray.MenuItem // } // ) // func NewLogMiddleware(menuItem *systray.MenuItem) *LogMiddleware { // return &LogMiddleware{ // menuItem: menuItem, // } // } // func (lm *LogMiddleware) Process(ctx context.Context, req *http.Request, w http.ResponseWriter) (err error) { // done, errCh := make(chan struct{}), make(chan error) // go func() { // // logger.Println("received a request") // lm.menuItem.AddSubMenuItemCheckbox(filepath.Join("remote addr : %s", req.RemoteAddr), "remote", false) // // logger.Printf("from %s\n", req.RemoteAddr) // done <- struct{}{} // }() // select { // case <-ctx.Done(): // err = ctx.Err() // return // case <-done: // return nil // case err = <-errCh: // return // } // }