Compare commits
1 Commits
feat/chi-v
...
feat/add-c
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
706f5f6dcc |
@@ -16,6 +16,11 @@ import (
|
|||||||
|
|
||||||
const routeTimeout = 60 * time.Second
|
const routeTimeout = 60 * time.Second
|
||||||
|
|
||||||
|
// cspHeader is the Content-Security-Policy applied to the embedded web SPA.
|
||||||
|
// The SPA loads external scripts and stylesheets from the same origin only;
|
||||||
|
// all API communication uses same-origin fetch (no WebSockets).
|
||||||
|
const cspHeader = "default-src 'self'; script-src 'self'; style-src 'self'"
|
||||||
|
|
||||||
// SetupRoutes configures the HTTP routes and middleware.
|
// SetupRoutes configures the HTTP routes and middleware.
|
||||||
func (srv *Server) SetupRoutes() {
|
func (srv *Server) SetupRoutes() {
|
||||||
srv.router = chi.NewRouter()
|
srv.router = chi.NewRouter()
|
||||||
@@ -133,6 +138,11 @@ func (srv *Server) setupSPA() {
|
|||||||
writer http.ResponseWriter,
|
writer http.ResponseWriter,
|
||||||
request *http.Request,
|
request *http.Request,
|
||||||
) {
|
) {
|
||||||
|
writer.Header().Set(
|
||||||
|
"Content-Security-Policy",
|
||||||
|
cspHeader,
|
||||||
|
)
|
||||||
|
|
||||||
readFS, ok := distFS.(fs.ReadFileFS)
|
readFS, ok := distFS.(fs.ReadFileFS)
|
||||||
if !ok {
|
if !ok {
|
||||||
fileServer.ServeHTTP(writer, request)
|
fileServer.ServeHTTP(writer, request)
|
||||||
|
|||||||
Reference in New Issue
Block a user