List statics
Before taking a snapshot of your server, you need to expose a server route that lists all static routes
available for snapshotting. You can do this with statics.NewRouteHandler() .
It will generate a route using the given pattern ; the resulting route will list all available GET routes for the given server as application/json .
package main
import (
"embed"
"errors"
"log"
"os"
"main/lib/core/routes"
"main/lib/core/scopes"
"main/lib/core/routes/statics"
"main/lib/core/servers"
"main/lib/core/ssr"
)
//go:generate frizzante clean
//go:generate frizzante configure
//go:embed app/dist
var efs embed.FS
var errorLog = log.New(os.Stderr, "[error]: ", log.Ldate|log.Ltime)
var infoLog = log.New(os.Stdout, "[info]: ", log.Ldate|log.Ltime)
var render = ssr.New(ssr.Options{
Efs: efs,
ErrorLog: errorLog,
InfoLog: infoLog,
Limit: 1,
})
var props = map[string]any{"prefix": os.Getenv("PREFIX")}
var appRoutes = []routes.Route{
// ---> Routes go here. <---
}
var srverr = servers.Start(servers.StartOptions{
ErrorLog: errorLog,
InfoLog: infoLog,
Routes: append(
appRoutes,
routes.Route{
Pattern: "GET /@statics",
// Adds the statics route handler.
Handler: statics.NewRouteHandler(appRoutes),
},
),
})
func main() {
if err := errors.Join(srverr); err != nil {
log.Fatal(err)
}
}