Guest User

Untitled

a guest
Apr 28th, 2012
35
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.86 KB | None | 0 0
  1. #!/usr/bin/ruby
  2.  
  3. require 'fcgi'
  4. require 'less'
  5. require 'digest/sha1'
  6.  
  7. FCGI.each do |request|
  8. out = request.out
  9. source = File.new(request.env["SCRIPT_FILENAME"], 'r').read;
  10. hash = Digest::SHA1.hexdigest(source).inspect
  11.  
  12. # if request.env["HTTP_IF_NONE_MATCH"] == hash
  13. # out.print request.env["SERVER_PROTOCOL"]+" 304 Not Modified\r\n"
  14. # out.print "\r\n"
  15. # else
  16. Dir.chdir File.dirname request.env["SCRIPT_FILENAME"]
  17.  
  18. begin
  19. code = Less::Parser.new.parse(source).to_css :compress => true
  20. rescue Exception => err
  21. out.print request.env["SERVER_PROTOCOL"]+"500 Internal Server Error\r\nContent-Type: text/css\r\n\r\n/* * *\r\n"
  22. out.print err.message
  23. out.print "\r\n* * */"
  24. else
  25. out.print "Content-Type: text/css\r\n"
  26. out.print "Etag: "+hash+"\r\n"
  27. out.print "\r\n"
  28. out.print code
  29. end
  30. request.finish
  31. end
Advertisement
Add Comment
Please, Sign In to add comment