router-for-me/CLIProxyAPI · error
failed to start HTTP server: server not initialized
Error message
failed to start HTTP server: server not initialized
What it means
Error "failed to start HTTP server: server not initialized" thrown in router-for-me/CLIProxyAPI.
Source
Thrown at internal/api/server.go:264
}
// Create HTTP server
s.server = &http.Server{
Addr: fmt.Sprintf("%s:%d", cfg.Host, cfg.Port),
Handler: engine,
}
return s
}
// Start begins listening for and serving HTTP or HTTPS requests.
// It's a blocking call and will only return on an unrecoverable error.
//
// Returns:
// - error: An error if the server fails to start
func (s *Server) Start() error {
if s == nil || s.server == nil {
return fmt.Errorf("failed to start HTTP server: server not initialized")
}
addr := s.server.Addr
listener, errListen := net.Listen("tcp", addr)
if errListen != nil {
return fmt.Errorf("failed to start HTTP server: %v", errListen)
}
useTLS := s.cfg != nil && s.cfg.TLS.Enable
if useTLS {
certPath := strings.TrimSpace(s.cfg.TLS.Cert)
keyPath := strings.TrimSpace(s.cfg.TLS.Key)
if certPath == "" || keyPath == "" {
if errClose := listener.Close(); errClose != nil {
log.Errorf("failed to close listener after TLS validation failure: %v", errClose)
}
return fmt.Errorf("failed to start HTTPS server: tls.cert or tls.key is empty")
}View on GitHub (pinned to 78f0c4079e)
Solutions
- Ensure the server instance is fully constructed before calling Start.
- Check initialization order in cmd/server so the HTTP server is initialized prior to startup.
When it happens
Trigger: Thrown at internal/api/server.go:264 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of router-for-me/CLIProxyAPI@78f0c4079e (2026-08-15).
Data as JSON: /api/errors/d87556dc3288047c.
Report an issue: GitHub.