- Created `qa-test-output-after-fix.txt` and `qa-test-output.txt` to log results of certificate page authentication tests. - Added `build.sh` for deterministic backend builds in CI, utilizing `go list` for efficiency. - Introduced `codeql_scan.sh` for CodeQL database creation and analysis for Go and JavaScript/TypeScript. - Implemented `dockerfile_check.sh` to validate Dockerfiles for base image and package manager mismatches. - Added `sourcery_precommit_wrapper.sh` to facilitate Sourcery CLI usage in pre-commit hooks.
29 lines
912 B
Go
29 lines
912 B
Go
// Package server provides the HTTP server and router configuration.
|
|
package server
|
|
|
|
import (
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
// NewRouter creates a new Gin router with frontend static file serving.
|
|
func NewRouter(frontendDir string) *gin.Engine {
|
|
router := gin.Default()
|
|
// Silence "trusted all proxies" warning by not trusting any by default.
|
|
// If running behind a proxy, this should be configured to trust that proxy's IP.
|
|
_ = router.SetTrustedProxies(nil)
|
|
|
|
// Serve frontend static files
|
|
if frontendDir != "" {
|
|
router.Static("/assets", frontendDir+"/assets")
|
|
router.StaticFile("/", frontendDir+"/index.html")
|
|
router.StaticFile("/banner.png", frontendDir+"/banner.png")
|
|
router.StaticFile("/logo.png", frontendDir+"/logo.png")
|
|
router.StaticFile("/favicon.png", frontendDir+"/favicon.png")
|
|
router.NoRoute(func(c *gin.Context) {
|
|
c.File(frontendDir + "/index.html")
|
|
})
|
|
}
|
|
|
|
return router
|
|
}
|