aboutsummaryrefslogtreecommitdiff
path: root/server.go
diff options
context:
space:
mode:
authorRunxi Yu <me@runxiyu.org>2025-04-05 21:47:44 +0800
committerRunxi Yu <me@runxiyu.org>2025-04-05 21:47:44 +0800
commitefa6f33b4c67f64a4a8d8cd723b9bbc9494fc735 (patch)
treec4075c78bc4126d764f91ec68931c34281913dcc /server.go
parentAdd missing copyright headers (diff)
downloadforge-efa6f33b4c67f64a4a8d8cd723b9bbc9494fc735.tar.gz
forge-efa6f33b4c67f64a4a8d8cd723b9bbc9494fc735.tar.zst
forge-efa6f33b4c67f64a4a8d8cd723b9bbc9494fc735.zip
Unexport fields in Serverv0.1.24
Diffstat (limited to 'server.go')
-rw-r--r--server.go98
1 files changed, 49 insertions, 49 deletions
diff --git a/server.go b/server.go
index c025f45..75226d4 100644
--- a/server.go
+++ b/server.go
@@ -21,32 +21,32 @@ import (
)
type Server struct {
- Config Config
+ config Config
- // Database serves as the primary Database handle for this entire application.
+ // database serves as the primary database handle for this entire application.
// Transactions or single reads may be used from it. A [pgxpool.Pool] is
// necessary to safely use pgx concurrently; pgx.Conn, etc. are insufficient.
- Database *pgxpool.Pool
+ database *pgxpool.Pool
- SourceHandler http.Handler
- StaticHandler http.Handler
+ sourceHandler http.Handler
+ staticHandler http.Handler
- IrcSendBuffered chan string
- IrcSendDirectChan chan errorBack[string]
+ ircSendBuffered chan string
+ ircSendDirectChan chan errorBack[string]
- // GlobalData is passed as "global" when rendering HTML templates.
- GlobalData map[string]any
+ // globalData is passed as "global" when rendering HTML templates.
+ globalData map[string]any
- ServerPubkeyString string
- ServerPubkeyFP string
- ServerPubkey goSSH.PublicKey
+ serverPubkeyString string
+ serverPubkeyFP string
+ serverPubkey goSSH.PublicKey
- // PackPasses contains hook cookies mapped to their packPass.
- PackPasses cmap.Map[string, packPass]
+ // packPasses contains hook cookies mapped to their packPass.
+ packPasses cmap.Map[string, packPass]
}
func (s *Server) Setup() {
- s.SourceHandler = http.StripPrefix(
+ s.sourceHandler = http.StripPrefix(
"/-/source/",
http.FileServer(http.FS(embeddedSourceFS)),
)
@@ -54,10 +54,10 @@ func (s *Server) Setup() {
if err != nil {
panic(err)
}
- s.StaticHandler = http.StripPrefix("/-/static/", http.FileServer(http.FS(staticFS)))
- s.GlobalData = map[string]any{
- "server_public_key_string": &s.ServerPubkeyString,
- "server_public_key_fingerprint": &s.ServerPubkeyFP,
+ s.staticHandler = http.StripPrefix("/-/static/", http.FileServer(http.FS(staticFS)))
+ s.globalData = map[string]any{
+ "server_public_key_string": &s.serverPubkeyString,
+ "server_public_key_fingerprint": &s.serverPubkeyFP,
"forge_version": VERSION,
// Some other ones are populated after config parsing
}
@@ -79,7 +79,7 @@ func (s *Server) Run() {
// Launch Git2D
go func() {
- cmd := exec.Command(s.Config.Git.DaemonPath, s.Config.Git.Socket) //#nosec G204
+ cmd := exec.Command(s.config.Git.DaemonPath, s.config.Git.Socket) //#nosec G204
cmd.Stderr = log.Writer()
cmd.Stdout = log.Writer()
if err := cmd.Run(); err != nil {
@@ -89,14 +89,14 @@ func (s *Server) Run() {
// UNIX socket listener for hooks
{
- hooksListener, err := net.Listen("unix", s.Config.Hooks.Socket)
+ hooksListener, err := net.Listen("unix", s.config.Hooks.Socket)
if errors.Is(err, syscall.EADDRINUSE) {
- slog.Warn("removing existing socket", "path", s.Config.Hooks.Socket)
- if err = syscall.Unlink(s.Config.Hooks.Socket); err != nil {
- slog.Error("removing existing socket", "path", s.Config.Hooks.Socket, "error", err)
+ slog.Warn("removing existing socket", "path", s.config.Hooks.Socket)
+ if err = syscall.Unlink(s.config.Hooks.Socket); err != nil {
+ slog.Error("removing existing socket", "path", s.config.Hooks.Socket, "error", err)
os.Exit(1)
}
- if hooksListener, err = net.Listen("unix", s.Config.Hooks.Socket); err != nil {
+ if hooksListener, err = net.Listen("unix", s.config.Hooks.Socket); err != nil {
slog.Error("listening hooks", "error", err)
os.Exit(1)
}
@@ -104,7 +104,7 @@ func (s *Server) Run() {
slog.Error("listening hooks", "error", err)
os.Exit(1)
}
- slog.Info("listening hooks on unix", "path", s.Config.Hooks.Socket)
+ slog.Info("listening hooks on unix", "path", s.config.Hooks.Socket)
go func() {
if err = s.serveGitHooks(hooksListener); err != nil {
slog.Error("serving hooks", "error", err)
@@ -115,14 +115,14 @@ func (s *Server) Run() {
// UNIX socket listener for LMTP
{
- lmtpListener, err := net.Listen("unix", s.Config.LMTP.Socket)
+ lmtpListener, err := net.Listen("unix", s.config.LMTP.Socket)
if errors.Is(err, syscall.EADDRINUSE) {
- slog.Warn("removing existing socket", "path", s.Config.LMTP.Socket)
- if err = syscall.Unlink(s.Config.LMTP.Socket); err != nil {
- slog.Error("removing existing socket", "path", s.Config.LMTP.Socket, "error", err)
+ slog.Warn("removing existing socket", "path", s.config.LMTP.Socket)
+ if err = syscall.Unlink(s.config.LMTP.Socket); err != nil {
+ slog.Error("removing existing socket", "path", s.config.LMTP.Socket, "error", err)
os.Exit(1)
}
- if lmtpListener, err = net.Listen("unix", s.Config.LMTP.Socket); err != nil {
+ if lmtpListener, err = net.Listen("unix", s.config.LMTP.Socket); err != nil {
slog.Error("listening LMTP", "error", err)
os.Exit(1)
}
@@ -130,7 +130,7 @@ func (s *Server) Run() {
slog.Error("listening LMTP", "error", err)
os.Exit(1)
}
- slog.Info("listening LMTP on unix", "path", s.Config.LMTP.Socket)
+ slog.Info("listening LMTP on unix", "path", s.config.LMTP.Socket)
go func() {
if err = s.serveLMTP(lmtpListener); err != nil {
slog.Error("serving LMTP", "error", err)
@@ -141,14 +141,14 @@ func (s *Server) Run() {
// SSH listener
{
- sshListener, err := net.Listen(s.Config.SSH.Net, s.Config.SSH.Addr)
- if errors.Is(err, syscall.EADDRINUSE) && s.Config.SSH.Net == "unix" {
- slog.Warn("removing existing socket", "path", s.Config.SSH.Addr)
- if err = syscall.Unlink(s.Config.SSH.Addr); err != nil {
- slog.Error("removing existing socket", "path", s.Config.SSH.Addr, "error", err)
+ sshListener, err := net.Listen(s.config.SSH.Net, s.config.SSH.Addr)
+ if errors.Is(err, syscall.EADDRINUSE) && s.config.SSH.Net == "unix" {
+ slog.Warn("removing existing socket", "path", s.config.SSH.Addr)
+ if err = syscall.Unlink(s.config.SSH.Addr); err != nil {
+ slog.Error("removing existing socket", "path", s.config.SSH.Addr, "error", err)
os.Exit(1)
}
- if sshListener, err = net.Listen(s.Config.SSH.Net, s.Config.SSH.Addr); err != nil {
+ if sshListener, err = net.Listen(s.config.SSH.Net, s.config.SSH.Addr); err != nil {
slog.Error("listening SSH", "error", err)
os.Exit(1)
}
@@ -156,7 +156,7 @@ func (s *Server) Run() {
slog.Error("listening SSH", "error", err)
os.Exit(1)
}
- slog.Info("listening SSH on", "net", s.Config.SSH.Net, "addr", s.Config.SSH.Addr)
+ slog.Info("listening SSH on", "net", s.config.SSH.Net, "addr", s.config.SSH.Addr)
go func() {
if err = s.serveSSH(sshListener); err != nil {
slog.Error("serving SSH", "error", err)
@@ -167,14 +167,14 @@ func (s *Server) Run() {
// HTTP listener
{
- httpListener, err := net.Listen(s.Config.HTTP.Net, s.Config.HTTP.Addr)
- if errors.Is(err, syscall.EADDRINUSE) && s.Config.HTTP.Net == "unix" {
- slog.Warn("removing existing socket", "path", s.Config.HTTP.Addr)
- if err = syscall.Unlink(s.Config.HTTP.Addr); err != nil {
- slog.Error("removing existing socket", "path", s.Config.HTTP.Addr, "error", err)
+ httpListener, err := net.Listen(s.config.HTTP.Net, s.config.HTTP.Addr)
+ if errors.Is(err, syscall.EADDRINUSE) && s.config.HTTP.Net == "unix" {
+ slog.Warn("removing existing socket", "path", s.config.HTTP.Addr)
+ if err = syscall.Unlink(s.config.HTTP.Addr); err != nil {
+ slog.Error("removing existing socket", "path", s.config.HTTP.Addr, "error", err)
os.Exit(1)
}
- if httpListener, err = net.Listen(s.Config.HTTP.Net, s.Config.HTTP.Addr); err != nil {
+ if httpListener, err = net.Listen(s.config.HTTP.Net, s.config.HTTP.Addr); err != nil {
slog.Error("listening HTTP", "error", err)
os.Exit(1)
}
@@ -184,11 +184,11 @@ func (s *Server) Run() {
}
server := http.Server{
Handler: s,
- ReadTimeout: time.Duration(s.Config.HTTP.ReadTimeout) * time.Second,
- WriteTimeout: time.Duration(s.Config.HTTP.ReadTimeout) * time.Second,
- IdleTimeout: time.Duration(s.Config.HTTP.ReadTimeout) * time.Second,
+ ReadTimeout: time.Duration(s.config.HTTP.ReadTimeout) * time.Second,
+ WriteTimeout: time.Duration(s.config.HTTP.ReadTimeout) * time.Second,
+ IdleTimeout: time.Duration(s.config.HTTP.ReadTimeout) * time.Second,
} //exhaustruct:ignore
- slog.Info("listening HTTP on", "net", s.Config.HTTP.Net, "addr", s.Config.HTTP.Addr)
+ slog.Info("listening HTTP on", "net", s.config.HTTP.Net, "addr", s.config.HTTP.Addr)
go func() {
if err = server.Serve(httpListener); err != nil && !errors.Is(err, http.ErrServerClosed) {
slog.Error("serving HTTP", "error", err)