     #----------
     
     streamPodcast: (req,res,filename,size,stream_key,id3) ->
-        @loadPreroll stream_key, (predata = null) =>
+        if req.connection.destroyed
+            return false
+        
+        @loadPreroll stream_key, req, (predata = null) =>
             # compute our final size
             fsize = (id3?.length||0) + (predata?.length||0) + size
             

            host:       @options.preroll.server
            path:       [@options.preroll.path,@options.preroll.key,key].join("/")
        
        req = http.get opts, (rres) =>
            if rres.statusCode == 200
                # collect preroll data and then return it
                pre_data = new Buffer(0)
                rres.on "data", (chunk) => 
                    buf = new Buffer(pre_data.length + chunk.length)
                    pre_data.copy(buf,0)
                    chunk.copy(buf,pre_data.length)
                    pre_data = buf

                # when preroll is done, call the output's callback
                rres.on "end", =>
                    console.log "calling podcast callback with preroll data of ", pre_data.length
                    cb?(pre_data)
                    return true
            else
                cb?()
                return true
        
                            
        
            
    #----------
    
    loadPreroll: (key,req,cb) ->
        # no preroll for head requests
        cb?() if req.method == "HEAD"
        
        # short-circuit if we're missing any options
        console.log "preroller opts is ", @options.preroll
        unless @options.preroll?.server && @options.preroll?.key && @options.preroll?.path
