feat: add enable and disable keep alive

This commit is contained in:
Jonas Kaninda
2024-10-29 14:36:57 +01:00
parent f30ddac7a1
commit 97c7e0940b
4 changed files with 5 additions and 2 deletions

View File

@@ -153,6 +153,7 @@ type Gateway struct {
//Disable dispelling routes on start
DisableDisplayRouteOnStart bool `yaml:"disableDisplayRouteOnStart"`
InterceptErrors []int `yaml:"interceptErrors"`
EnableKeepAlive bool `yaml:"enableKeepAlive"`
// Cors contains the proxy global cors
Cors Cors `yaml:"cors"`
// Routes defines the proxy routes

View File

@@ -57,6 +57,8 @@ func (intercept InterceptErrors) ErrorInterceptor(next http.Handler) http.Handle
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
rec := newResponseRecorder(w)
next.ServeHTTP(rec, r)
//Set Server name
w.Header().Set("Server", "Goma")
if canIntercept(rec.statusCode, intercept.Errors) {
logger.Debug("Backend error intercepted")
logger.Debug("An error occurred in the backend, %d", rec.statusCode)

View File

@@ -38,8 +38,6 @@ func (proxyRoute ProxyRoute) ProxyHandler() http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
realIP := getRealIP(r)
logger.Info("%s %s %s %s", r.Method, realIP, r.URL, r.UserAgent())
//Set Server name
w.Header().Set("Server", serverName)
// Set CORS headers from the cors config
//Update Cors Headers
for k, v := range proxyRoute.cors.Headers {

View File

@@ -39,6 +39,8 @@ func (gatewayServer GatewayServer) Start(ctx context.Context) error {
if !gatewayServer.gateway.DisableDisplayRouteOnStart {
printRoute(gatewayServer.gateway.Routes)
}
// Set KeepAlive
srv.SetKeepAlivesEnabled(gatewayServer.gateway.EnableKeepAlive)
go func() {
logger.Info("Started Goma Gateway server on %v", gatewayServer.gateway.ListenAddr)