1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- package main
- import (
- "fmt"
- "log"
- "os"
- "io"
- "encoding/json"
- "net/http"
- "git.sr.ht/~jordyn/imagination/figtree"
- )
- func main() {
- http.HandleFunc("/", homeHandler)
- http.HandleFunc("/figs/", figHandler)
- http.HandleFunc("/all/", allHandler)
- log.Fatal(http.ListenAndServe(":8080", nil))
- }
- func homeHandler(w http.ResponseWriter, r *http.Request) {
- fmt.Fprintf(w, "<h1>my beautiful figs</h1>")
- }
- func figHandler(w http.ResponseWriter, r *http.Request) {
- r.ParseMultipartForm(32 << 20)
- file, _, err := r.FormFile("newfig")
- if err != nil {
- panic(err)
- }
- defer file.Close()
- fighome, newfig, err := figtree.HarvestFig(
- r.FormValue("name"),
- r.FormValue("desc"),
- r.FormValue("type"),
- r.FormValue("ext"),
- r.FormValue("birth"))
- log.Println("blooming " + fighome)
- f, err := os.Create(fighome)
- if err != nil {
- panic(err)
- }
- err = os.Chmod(fighome, 0666)
- if err != nil {
- panic(err)
- }
- defer f.Close()
- io.Copy(f, file)
- figtree.DryFig(newfig)
- }
- func allHandler(w http.ResponseWriter, r *http.Request) {
- figs, _ := figtree.AllFigsFancy()
- json.NewEncoder(w).Encode(figs)
- }
|