github.com/cellofellow/gopkg@v0.0.0-20140722061823-eec0544a62ad/web/fcgi.go (about) 1 // Copyright 2013 <chaishushan{AT}gmail.com>. All rights reserved. 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 package web 6 7 import ( 8 "net" 9 "net/http/fcgi" 10 ) 11 12 func (s *Server) listenAndServeFcgi(addr string) error { 13 var l net.Listener 14 var err error 15 16 //if the path begins with a "/", assume it's a unix address 17 if addr[0] == '/' { 18 l, err = net.Listen("unix", addr) 19 } else { 20 l, err = net.Listen("tcp", addr) 21 } 22 23 //save the listener so it can be closed 24 s.l = l 25 26 if err != nil { 27 s.Logger.Println("FCGI listen error", err.Error()) 28 return err 29 } 30 return fcgi.Serve(s.l, s) 31 }