repos / pico

pico services mono repo
git clone https://github.com/picosh/pico.git

commit
ca8aab3
parent
a66e268
author
Eric Bower
date
2025-12-15 23:10:10 -0500 EST
fix: tunnel leaks
3 files changed,  +9, -2
M .gitignore
+2, -0
1@@ -14,3 +14,5 @@ __debug_bin
2 .bin
3 /public/
4 .aider*
5+ssh
6+web
M pkg/apps/pgs/tunnel.go
+1, -1
1@@ -126,7 +126,7 @@ func CreateHttpHandler(cfg *PgsConfig) CtxHttpBridge {
2 
3 		log.Info("user has access to site")
4 
5-		routes := NewWebRouter(cfg)
6+		routes := newWebRouter(cfg)
7 		tunnelRouter := TunnelWebRouter{routes, subdomain}
8 		tunnelRouter.InitRouter()
9 		return &tunnelRouter
M pkg/apps/pgs/web.go
+6, -1
 1@@ -107,13 +107,18 @@ type WebRouter struct {
 2 }
 3 
 4 func NewWebRouter(cfg *PgsConfig) *WebRouter {
 5+	router := newWebRouter(cfg)
 6+	go router.WatchCacheClear()
 7+	return router
 8+}
 9+
10+func newWebRouter(cfg *PgsConfig) *WebRouter {
11 	router := &WebRouter{
12 		Cfg:            cfg,
13 		RedirectsCache: expirable.NewLRU[string, []*RedirectRule](2048, nil, cache.CacheTimeout),
14 		HeadersCache:   expirable.NewLRU[string, []*HeaderRule](2048, nil, cache.CacheTimeout),
15 	}
16 	router.initRouters()
17-	go router.WatchCacheClear()
18 	return router
19 }
20