github.com/cloud-foundations/dominator@v0.0.0-20221004181915-6e4fee580046/imageserver/httpd/listTriggers.go (about)

     1  package httpd
     2  
     3  import (
     4  	"bufio"
     5  	"fmt"
     6  	"net/http"
     7  
     8  	"github.com/Cloud-Foundations/Dominator/lib/json"
     9  )
    10  
    11  func (s state) listTriggersHandler(w http.ResponseWriter, req *http.Request) {
    12  	writer := bufio.NewWriter(w)
    13  	defer writer.Flush()
    14  	imageName := req.URL.RawQuery
    15  	fmt.Fprintf(writer, "<title>triggers %s</title>\n", imageName)
    16  	fmt.Fprintln(writer, "<body>")
    17  	fmt.Fprintln(writer, "<h3>")
    18  	image := s.imageDataBase.GetImage(imageName)
    19  	if image == nil {
    20  		fmt.Fprintf(writer, "Image: %s UNKNOWN!\n", imageName)
    21  	} else if image.Triggers == nil {
    22  		fmt.Fprintln(writer, "NO TRIGGERS")
    23  	} else {
    24  		fmt.Fprintf(writer, "Triggers for image: %s\n", imageName)
    25  		fmt.Fprintln(writer, "<pre>")
    26  		json.WriteWithIndent(writer, "    ", image.Triggers.Triggers)
    27  		fmt.Fprintln(writer, "</pre>")
    28  	}
    29  	fmt.Fprintln(writer, "</body>")
    30  }