- Change FileServer base path to “/” to serve static assets from the site root. - Remove the unused helloHandler route registration. - Add README documentation for the new ColorPicker web component.
42 lines
1.0 KiB
Go
42 lines
1.0 KiB
Go
package main
|
|
|
|
import (
|
|
"net/http"
|
|
|
|
"github.com/go-chi/chi/v5"
|
|
"github.com/go-chi/chi/v5/middleware"
|
|
)
|
|
|
|
func main() {
|
|
// Create a new router
|
|
r := chi.NewRouter()
|
|
|
|
// Add some middleware for logging and recover
|
|
r.Use(middleware.Logger)
|
|
r.Use(middleware.Recoverer)
|
|
|
|
// Register the hello world handler at the root path
|
|
|
|
// Serve static HTML files from the "static" directory
|
|
// (e.g., /static/index.html will be accessible at /static/index.html)
|
|
FileServer(r, "/", http.Dir("./static"))
|
|
|
|
// Start the HTTP server
|
|
http.ListenAndServe(":8080", r)
|
|
}
|
|
|
|
// FileServer sets up a http.FileServer handler for serving static files.
|
|
func FileServer(r chi.Router, publicPath string, root http.FileSystem) {
|
|
if publicPath == "" {
|
|
publicPath = "/"
|
|
}
|
|
// Ensure the path ends with a slash
|
|
if publicPath[len(publicPath)-1] != '/' {
|
|
publicPath += "/"
|
|
}
|
|
fs := http.StripPrefix(publicPath, http.FileServer(root))
|
|
r.Get(publicPath+"*", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
fs.ServeHTTP(w, r)
|
|
}))
|
|
}
|