mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-09-24 16:30:27 +08:00
Patch from Assaf Gordon to support Apache's mod_xsendfile for offloading downloads to Apache.
This commit is contained in:
+12
-12
@@ -7,18 +7,18 @@
|
||||
;
|
||||
|
||||
[hosts]
|
||||
py2.4-linux-i686-ucs2 = basie.bx.psu.edu /afs/bx.psu.edu/project/pythons/linux-i686-ucs2/bin/python2.4
|
||||
py2.4-linux-i686-ucs4 = basie.bx.psu.edu /afs/bx.psu.edu/project/pythons/linux-i686-ucs4/bin/python2.4
|
||||
py2.5-linux-i686-ucs2 = basie.bx.psu.edu /afs/bx.psu.edu/project/pythons/linux-i686-ucs2/bin/python2.5
|
||||
py2.5-linux-i686-ucs4 = basie.bx.psu.edu /afs/bx.psu.edu/project/pythons/linux-i686-ucs4/bin/python2.5
|
||||
py2.6-linux-i686-ucs2 = basie.bx.psu.edu /afs/bx.psu.edu/project/pythons/linux-i686-ucs2/bin/python2.6
|
||||
py2.6-linux-i686-ucs4 = basie.bx.psu.edu /afs/bx.psu.edu/project/pythons/linux-i686-ucs4/bin/python2.6
|
||||
py2.4-linux-x86_64-ucs2 = scofield.bx.psu.edu /afs/bx.psu.edu/project/pythons/linux-x86_64-ucs2/bin/python2.4
|
||||
py2.4-linux-x86_64-ucs4 = scofield.bx.psu.edu /afs/bx.psu.edu/project/pythons/linux-x86_64-ucs4/bin/python2.4
|
||||
py2.5-linux-x86_64-ucs2 = scofield.bx.psu.edu /afs/bx.psu.edu/project/pythons/linux-x86_64-ucs2/bin/python2.5
|
||||
py2.5-linux-x86_64-ucs4 = scofield.bx.psu.edu /afs/bx.psu.edu/project/pythons/linux-x86_64-ucs4/bin/python2.5
|
||||
py2.6-linux-x86_64-ucs2 = scofield.bx.psu.edu /afs/bx.psu.edu/project/pythons/linux-x86_64-ucs2/bin/python2.6
|
||||
py2.6-linux-x86_64-ucs4 = scofield.bx.psu.edu /afs/bx.psu.edu/project/pythons/linux-x86_64-ucs4/bin/python2.6
|
||||
py2.4-linux-i686-ucs2 = stegmaier.bx.psu.edu /afs/bx.psu.edu/project/pythons/linux-i686-ucs2/bin/python2.4
|
||||
py2.4-linux-i686-ucs4 = stegmaier.bx.psu.edu /afs/bx.psu.edu/project/pythons/linux-i686-ucs4/bin/python2.4
|
||||
py2.5-linux-i686-ucs2 = stegmaier.bx.psu.edu /afs/bx.psu.edu/project/pythons/linux-i686-ucs2/bin/python2.5
|
||||
py2.5-linux-i686-ucs4 = stegmaier.bx.psu.edu /afs/bx.psu.edu/project/pythons/linux-i686-ucs4/bin/python2.5
|
||||
py2.6-linux-i686-ucs2 = stegmaier.bx.psu.edu /afs/bx.psu.edu/project/pythons/linux-i686-ucs2/bin/python2.6
|
||||
py2.6-linux-i686-ucs4 = stegmaier.bx.psu.edu /afs/bx.psu.edu/project/pythons/linux-i686-ucs4/bin/python2.6
|
||||
py2.4-linux-x86_64-ucs2 = straub.bx.psu.edu /afs/bx.psu.edu/project/pythons/linux-x86_64-ucs2/bin/python2.4
|
||||
py2.4-linux-x86_64-ucs4 = straub.bx.psu.edu /afs/bx.psu.edu/project/pythons/linux-x86_64-ucs4/bin/python2.4
|
||||
py2.5-linux-x86_64-ucs2 = straub.bx.psu.edu /afs/bx.psu.edu/project/pythons/linux-x86_64-ucs2/bin/python2.5
|
||||
py2.5-linux-x86_64-ucs4 = straub.bx.psu.edu /afs/bx.psu.edu/project/pythons/linux-x86_64-ucs4/bin/python2.5
|
||||
py2.6-linux-x86_64-ucs2 = straub.bx.psu.edu /afs/bx.psu.edu/project/pythons/linux-x86_64-ucs2/bin/python2.6
|
||||
py2.6-linux-x86_64-ucs4 = straub.bx.psu.edu /afs/bx.psu.edu/project/pythons/linux-x86_64-ucs4/bin/python2.6
|
||||
py2.4-macosx-10.3-fat-ucs2 = medeski.bx.psu.edu /usr/local/bin/python2.4
|
||||
py2.5-macosx-10.3-fat-ucs2 = medeski.bx.psu.edu /usr/local/bin/python2.5
|
||||
py2.6-macosx-10.3-fat-ucs2 = medeski.bx.psu.edu /usr/local/bin/python2.6
|
||||
|
||||
@@ -97,6 +97,7 @@ class Configuration( object ):
|
||||
raise ConfigurationError( "user_library_import_dir specified in config (%s) does not exist" % self.user_library_import_dir )
|
||||
self.allow_library_path_paste = kwargs.get( 'allow_library_path_paste', False )
|
||||
# Configuration options for taking advantage of nginx features
|
||||
self.apache_xsendfile = kwargs.get( 'apache_xsendfile', False )
|
||||
self.nginx_x_accel_redirect_base = kwargs.get( 'nginx_x_accel_redirect_base', False )
|
||||
self.nginx_upload_store = kwargs.get( 'nginx_upload_store', False )
|
||||
self.nginx_upload_path = kwargs.get( 'nginx_upload_path', False )
|
||||
|
||||
@@ -327,10 +327,14 @@ CHUNK_SIZE = 2**16
|
||||
def send_file( start_response, trans, body ):
|
||||
# If configured use X-Accel-Redirect header for nginx
|
||||
base = trans.app.config.nginx_x_accel_redirect_base
|
||||
apache_xsendfile = trans.app.config.apache_xsendfile
|
||||
if base:
|
||||
trans.response.headers['X-Accel-Redirect'] = \
|
||||
base + os.path.abspath( body.name )
|
||||
body = [ "" ]
|
||||
elif apache_xsendfile:
|
||||
trans.response.headers['X-Sendfile'] = os.path.abspath( body.name )
|
||||
body = [ "" ]
|
||||
# Fall back on sending the file in chunks
|
||||
else:
|
||||
body = iterate_file( body )
|
||||
|
||||
Reference in New Issue
Block a user