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

     1  package httpd
     2  
     3  import (
     4  	"bufio"
     5  	"fmt"
     6  	"net/http"
     7  )
     8  
     9  func (s state) listReleaseNotesHandler(w http.ResponseWriter,
    10  	req *http.Request) {
    11  	writer := bufio.NewWriter(w)
    12  	defer writer.Flush()
    13  	imageName := req.URL.RawQuery
    14  	fmt.Fprintf(writer, "<title>image %s</title>\n", imageName)
    15  	fmt.Fprintln(writer, "<body>")
    16  	fmt.Fprintln(writer, "<h3>")
    17  	image := s.imageDataBase.GetImage(imageName)
    18  	if image == nil {
    19  		fmt.Fprintf(writer, "Image: %s UNKNOWN!\n", imageName)
    20  		return
    21  	}
    22  	if image.ReleaseNotes == nil {
    23  		fmt.Fprintf(writer, "No release notes for image: %s\n", imageName)
    24  		return
    25  	}
    26  	if image.ReleaseNotes.Object == nil {
    27  		fmt.Fprintf(writer, "No release notes data for image: %s\n", imageName)
    28  		return
    29  	}
    30  	fmt.Fprintf(writer, "Release notes for image: %s<br>\n", imageName)
    31  	fmt.Fprintln(writer, "</h3>")
    32  	listObject(writer, s.objectServer, image.ReleaseNotes.Object)
    33  	fmt.Fprintln(writer, "</body>")
    34  }