fcgi.go 476 B

123456789101112131415161718192021222324252627
  1. package xweb
  2. import (
  3. "net"
  4. "net/http/fcgi"
  5. )
  6. func (s *Server) listenAndServeFcgi(addr string) error {
  7. var l net.Listener
  8. var err error
  9. //if the path begins with a "/", assume it's a unix address
  10. if addr[0] == '/' {
  11. l, err = net.Listen("unix", addr)
  12. } else {
  13. l, err = net.Listen("tcp", addr)
  14. }
  15. //save the listener so it can be closed
  16. s.l = l
  17. if err != nil {
  18. s.Logger.Println("FCGI listen error", err.Error())
  19. return err
  20. }
  21. return fcgi.Serve(s.l, s)
  22. }