Description:
added option for Apapche X-Sendfile git-svn-id: http://theory.cpe.ku.ac.th/grader/web/trunk@370 6386c4cd-e34a-4fa8-8920-d93eb39b512e
Commit status:
[Not Reviewed]
References:
Comments:
0 Commit comments 0 Inline Comments
Unresolved TODOs:
There are no unresolved TODOs
Add another comment

r172:400ab663b3b9 - - 2 files changed: 7 inserted, 3 deleted

@@ -17,22 +17,22
17 #filename = "/home/ioi/web_grader/data/tasks/#{base_filename}"
17 #filename = "/home/ioi/web_grader/data/tasks/#{base_filename}"
18 #filename = "/home/ioi/web_grader/public/images/rails.png"
18 #filename = "/home/ioi/web_grader/public/images/rails.png"
19 if !FileTest.exists?(filename)
19 if !FileTest.exists?(filename)
20 redirect_to :action => 'index' and return
20 redirect_to :action => 'index' and return
21 end
21 end
22
22
23 + if defined?(USE_APACHE_XSENDFILE) and USE_APACHE_XSENDFILE
23 response.headers['Content-Type'] = "application/force-download"
24 response.headers['Content-Type'] = "application/force-download"
24 response.headers['Content-Disposition'] = "attachment; filename=\"#{File.basename(filename)}\""
25 response.headers['Content-Disposition'] = "attachment; filename=\"#{File.basename(filename)}\""
25 response.headers["X-Sendfile"] = filename
26 response.headers["X-Sendfile"] = filename
26 response.headers['Content-length'] = File.size(filename)
27 response.headers['Content-length'] = File.size(filename)
27 render :nothing => true
28 render :nothing => true
28 -
29 + else
29 - return
30 -
31 send_file filename, :stream => false, :filename => base_filename
30 send_file filename, :stream => false, :filename => base_filename
32 end
31 end
32 + end
33
33
34 protected
34 protected
35
35
36 def check_viewability
36 def check_viewability
37 user = User.find(session[:user_id])
37 user = User.find(session[:user_id])
38 if user==nil or !Configuration.show_tasks_to?(user)
38 if user==nil or !Configuration.show_tasks_to?(user)
@@ -84,6 +84,10
84
84
85 # Uncomment so that configuration is read only once when the server is loaded
85 # Uncomment so that configuration is read only once when the server is loaded
86 # Configuration.enable_caching
86 # Configuration.enable_caching
87
87
88 # Uncomment so that the system validates user e-mails
88 # Uncomment so that the system validates user e-mails
89 # VALIDATE_USER_EMAILS = true
89 # VALIDATE_USER_EMAILS = true
90 +
91 + # Uncomment so that Apache X-Sendfile is used when delivering files
92 + # (e.g., in /tasks/view).
93 + # USE_APACHE_XSENDFILE = true
You need to be logged in to leave comments. Login now