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

     1  package pipelineserver
     2  
     3  import (
     4  	"encoding/json"
     5  	"net/http"
     6  
     7  	"github.com/pf-qiu/concourse/v6/atc/db"
     8  )
     9  
    10  func (s *Server) GetVersionsDB(pipelineDB db.Pipeline) http.Handler {
    11  	logger := s.logger.Session("get-version-db")
    12  
    13  	return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
    14  		versionsDB, err := pipelineDB.LoadDebugVersionsDB()
    15  		if err != nil {
    16  			logger.Error("failed-to-get-version-db", err)
    17  			w.WriteHeader(http.StatusInternalServerError)
    18  			return
    19  		}
    20  
    21  		w.Header().Set("Content-Type", "application/json")
    22  
    23  		err = json.NewEncoder(w).Encode(versionsDB)
    24  		if err != nil {
    25  			logger.Error("failed-to-encode-version-db", err)
    26  			w.WriteHeader(http.StatusInternalServerError)
    27  		}
    28  	})
    29  }