Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Apr 28th, 2012  |  syntax: None  |  size: 0.86 KB  |  hits: 17  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  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