package main

import "fmt"
import "log"
import "net/http"
import "crypto/tls"
import "hnakra/service"

func main () {
	static := http.FileServer(http.Dir("./static"))

	http.HandleFunc("/gifs/", gifs)
	http.Handle("/gifs/static/", http.StripPrefix("/gifs/static", static))
	
	err := (&service.HTTP { Mount: service.Mount {
		Path:        "/gifs/",
		Name:        "Gifs",
		Description: "Serves a lot of big gifs on one page.",
		TLSConfig:    &tls.Config { InsecureSkipVerify: true },
	}}).Run()

	if err != nil {
		log.Println("XXX", err)
	}
}

func gifs (res http.ResponseWriter, req *http.Request) {
	res.Header().Add("content-type", "text/html")
	res.WriteHeader(http.StatusOK)

	img := func (number int) {
		fmt.Fprintf(res, "<img src='static/%d.gif'>", number)
	}
	
	fmt.Fprintln(res, "<!DOCTYPE html><html><head><title>Gifs</title></head><body>")
	img(0)
	img(1)
	img(2)
	img(3)
	img(4)
	img(5)
	img(6)
	img(7)
	fmt.Fprintln(res, "</body></html>")
}
