feat(index): embed index at build time

This commit is contained in:
hgc 2023-04-13 11:32:40 +00:00
parent 73ec305493
commit 01aa9c6c35
2 changed files with 15 additions and 6 deletions

5
.gitignore vendored
View File

@ -1,2 +1,3 @@
filehole
data/
/filehole.db
/filehole
/data/

16
main.go
View File

@ -1,6 +1,7 @@
package main
import (
_ "embed"
"crypto/rand"
"io"
"net/http"
@ -38,8 +39,8 @@ func UploadHandler(w http.ResponseWriter, r *http.Request) {
if err != nil {
sanUrlLen = 24
}
if sanUrlLen < 5 || sanUrlLen > 169 {
w.Write([]byte("url_len needs to be between 5 and 169\n"))
if sanUrlLen < 5 || sanUrlLen > 236 {
w.Write([]byte("url_len needs to be between 5 and 236\n"))
return
}
@ -123,6 +124,10 @@ func ExpiryDoer() {
}
}
//go:embed index.html
var indexPage []byte
func main() {
log.Logger = log.Output(zerolog.ConsoleWriter{Out: os.Stderr})
@ -156,10 +161,13 @@ func main() {
})
r := mux.NewRouter()
r.HandleFunc("/", UploadHandler).Methods("POST")
r.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
http.ServeFile(w, r, "index.html")
w.Write(indexPage)
}).Methods("GET")
r.HandleFunc("/", UploadHandler).Methods("POST")
http.Handle("/", r)
go ExpiryDoer()