serve.go raw

   1  package bridge
   2  
   3  import (
   4  	"embed"
   5  	"net/http"
   6  )
   7  
   8  //go:embed compose/compose.html compose/decrypt.html
   9  var composeFS embed.FS
  10  
  11  // ComposeHandler returns an HTTP handler that serves the compose form.
  12  func ComposeHandler() http.HandlerFunc {
  13  	return func(w http.ResponseWriter, r *http.Request) {
  14  		data, err := composeFS.ReadFile("compose/compose.html")
  15  		if err != nil {
  16  			http.Error(w, "compose form not found", http.StatusInternalServerError)
  17  			return
  18  		}
  19  		w.Header().Set("Content-Type", "text/html; charset=utf-8")
  20  		w.Write(data)
  21  	}
  22  }
  23  
  24  // DecryptHandler returns an HTTP handler that serves the decrypt page.
  25  func DecryptHandler() http.HandlerFunc {
  26  	return func(w http.ResponseWriter, r *http.Request) {
  27  		data, err := composeFS.ReadFile("compose/decrypt.html")
  28  		if err != nil {
  29  			http.Error(w, "decrypt page not found", http.StatusInternalServerError)
  30  			return
  31  		}
  32  		w.Header().Set("Content-Type", "text/html; charset=utf-8")
  33  		w.Write(data)
  34  	}
  35  }
  36