
Untitled
By: a guest on
Apr 28th, 2012 | syntax:
None | size: 0.86 KB | hits: 17 | expires: Never
#!/usr/bin/ruby
require 'fcgi'
require 'less'
require 'digest/sha1'
FCGI.each do |request|
out = request.out
source = File.new(request.env["SCRIPT_FILENAME"], 'r').read;
hash = Digest::SHA1.hexdigest(source).inspect
# if request.env["HTTP_IF_NONE_MATCH"] == hash
# out.print request.env["SERVER_PROTOCOL"]+" 304 Not Modified\r\n"
# out.print "\r\n"
# else
Dir.chdir File.dirname request.env["SCRIPT_FILENAME"]
begin
code = Less::Parser.new.parse(source).to_css :compress => true
rescue Exception => err
out.print request.env["SERVER_PROTOCOL"]+"500 Internal Server Error\r\nContent-Type: text/css\r\n\r\n/* * *\r\n"
out.print err.message
out.print "\r\n* * */"
else
out.print "Content-Type: text/css\r\n"
out.print "Etag: "+hash+"\r\n"
out.print "\r\n"
out.print code
end
request.finish
end