34 lines
515 B
Go
34 lines
515 B
Go
|
|
package main
|
||
|
|
|
||
|
|
import (
|
||
|
|
"embed"
|
||
|
|
"fmt"
|
||
|
|
"io/fs"
|
||
|
|
"net/http"
|
||
|
|
"os"
|
||
|
|
)
|
||
|
|
|
||
|
|
//go:embed static
|
||
|
|
var staticFS embed.FS
|
||
|
|
|
||
|
|
func main() {
|
||
|
|
addr := ":8080"
|
||
|
|
if len(os.Args) > 1 {
|
||
|
|
addr = os.Args[1]
|
||
|
|
}
|
||
|
|
|
||
|
|
sub, err := fs.Sub(staticFS, "static")
|
||
|
|
if err != nil {
|
||
|
|
fmt.Fprintf(os.Stderr, "Error: %v\n", err)
|
||
|
|
os.Exit(1)
|
||
|
|
}
|
||
|
|
|
||
|
|
http.Handle("/", http.FileServer(http.FS(sub)))
|
||
|
|
|
||
|
|
fmt.Printf("Listening on %s\n", addr)
|
||
|
|
if err := http.ListenAndServe(addr, nil); err != nil {
|
||
|
|
fmt.Fprintf(os.Stderr, "Error: %v\n", err)
|
||
|
|
os.Exit(1)
|
||
|
|
}
|
||
|
|
}
|