in apmproxy/receiver.go [38:66]
func (c *Client) StartReceiver() error {
mux := http.NewServeMux()
handleInfoRequest, err := c.handleInfoRequest()
if err != nil {
return err
}
mux.HandleFunc("/", handleInfoRequest)
mux.HandleFunc("/intake/v2/events", c.handleIntakeV2Events())
mux.HandleFunc("/register/transaction", c.handleTransactionRegistration())
c.receiver.Handler = mux
ln, err := net.Listen("tcp", c.receiver.Addr)
if err != nil {
return fmt.Errorf("failed to listen on addr %s", c.receiver.Addr)
}
go func() {
c.logger.Infof("Extension listening for apm data on %s", c.receiver.Addr)
if err = c.receiver.Serve(ln); err != nil && !errors.Is(err, http.ErrServerClosed) {
c.logger.Errorf("received error from http.Serve(): %v", err)
} else {
c.logger.Debug("server closed")
}
}()
return nil
}