github.com/pf-qiu/concourse/v6@v6.7.3-0.20201207032516-1f455d73275f/atc/api/buildserver/events.go (about)

     1  package buildserver
     2  
     3  import (
     4  	"net/http"
     5  
     6  	"github.com/pf-qiu/concourse/v6/atc/db"
     7  )
     8  
     9  func (s *Server) BuildEvents(build db.Build) http.Handler {
    10  	return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
    11  		streamDone := make(chan struct{})
    12  
    13  		go func() {
    14  			defer close(streamDone)
    15  
    16  			s.eventHandlerFactory(s.logger, build).ServeHTTP(w, r)
    17  		}()
    18  
    19  		select {
    20  		case <-streamDone:
    21  		}
    22  	})
    23  }