astraproxy/pages.go

39 lines
755 B
Go
Raw Normal View History

package main
import (
"bytes"
"io"
"net/http"
"os"
2024-07-26 09:00:04 +02:00
"strconv"
_ "embed"
)
var index string = ""
func SendIndex(wr http.ResponseWriter, req *http.Request) {
if index == "" {
bytes, err := os.ReadFile("index.html")
if err != nil {
http.Error(wr, err.Error(), http.StatusInternalServerError)
return
}
index = string(bytes)
}
resp := http.Response{
Body: io.NopCloser(bytes.NewBufferString(index)),
StatusCode: 200,
}
resp.Header = http.Header{}
resp.Header.Add("Content-Type", "text/html")
2024-07-26 09:00:04 +02:00
resp.Header.Add("Content-Length", strconv.Itoa(len(index)))
resp.Header.Add("Server", "astra")
req.Response = &resp
copyHeader(wr.Header(), resp.Header)
wr.WriteHeader(resp.StatusCode)
flush(wr)
copyBody(wr, resp.Body)
}