termtap/internal/app/proxy.go
Hayden Hargreaves 24b00146bf feat: added lots of data to the models and collection process
Next step might actually be the TUI! Or maybe the raw proxy, it would be
nice to be able to just run the proxy.
2026-04-14 14:39:27 -07:00

34 lines
629 B
Go

package app
import (
"fmt"
"termtap.dev/internal/model"
"termtap.dev/internal/proxy"
)
func StartProxy(addr string, ch chan<- model.Message) {
ps, err := proxy.NewProxyServer(addr, ch)
if err != nil {
ch <- model.Message{
Type: model.MessageTypeFatal,
Body: fmt.Sprintf("%q", err),
}
return
}
defer proxy.Destory(ps, ch)
ch <- model.Message{
Type: model.MessageTypeProxyStarting,
Body: fmt.Sprintf("proxy server started on %s", addr),
}
if err := ps.Server.Serve(*ps.Listener); err != nil {
ch <- model.Message{
Type: model.MessageTypeFatal,
Body: fmt.Sprintf("%q", err),
}
return
}
}