github.com/symfony-cli/symfony-cli@v0.0.0-20240514161054-ece2df437dfa/local/php/xsendfile.go (about) 1 package php 2 3 import ( 4 "net/http" 5 "os" 6 ) 7 8 func (p *Server) processXSendFile(resp *http.Response) (error, bool) { 9 // X-SendFile 10 sendFilename := resp.Header.Get("X-SendFile") 11 if sendFilename == "" { 12 return nil, false 13 } else if _, err := os.Stat(sendFilename); err != nil { 14 return nil, false 15 } 16 17 req := resp.Request 18 w := req.Context().Value(responseWriterContextKey).(http.ResponseWriter) 19 20 http.ServeFile(w, req, sendFilename) 21 22 return nil, true 23 }