.pixil files now encode width as a string :(

This commit is contained in:
Neale Pickett 2023-08-19 11:16:12 -06:00
parent 713f91a844
commit fcfc2e0ad5
3 changed files with 27 additions and 6 deletions

1
.gitignore vendored
View File

@ -1 +1,2 @@
cache/
wallart-server

View File

@ -35,7 +35,12 @@ func handleUpload(w http.ResponseWriter, r *http.Request) {
return
}
if pixil.Width != 8 || pixil.Height != 8 {
if err := pixil.Parse(); err != nil {
http.Error(w, err.Error(), http.StatusBadRequest)
return
}
if pixil.width != 8 || pixil.height != 8 {
http.Error(w, "Invalid image size", http.StatusBadRequest)
return
}
@ -106,13 +111,13 @@ func handleUpload(w http.ResponseWriter, r *http.Request) {
return
}
log.Println("New image successfully uploaded")
log.Println("New image successfully uploaded")
}
func logRequestHandler(h http.Handler) http.Handler {
fn := func(w http.ResponseWriter, r *http.Request) {
log.Printf("%s %s %s", r.RemoteAddr, r.Method, r.URL)
h.ServeHTTP(w, r)
h.ServeHTTP(w, r)
}
return http.HandlerFunc(fn)
}

View File

@ -2,6 +2,7 @@ package main
import (
"encoding/base64"
"strconv"
"strings"
)
@ -11,9 +12,23 @@ type PixilFrame struct {
Preview string `json:"preview"`
}
type Pixil struct {
Width uint `json:"width"`
Height uint `json:"height"`
Frames []PixilFrame `json:"frames"`
width int
height int
WidthString string `json:"width"`
HeightString string `json:"height"`
Frames []PixilFrame `json:"frames"`
}
func (p *Pixil) Parse() error {
var err error
p.width, err = strconv.Atoi(p.WidthString)
if err != nil {
return err
}
p.height, err = strconv.Atoi(p.HeightString)
return err
}
func (frame *PixilFrame) GetPreview() []byte {