With sinatrarb you can create a quick web app in ruby very easily, their documentation is great.

http://www.sinatrarb.com/intro.html

One thing you can do, is send a file, like say a tar file.

send_file "certs/#{filename}/#{filename}.tar", :filename => "#{filename}.tar"

I was hosting this on openshift which has a hard drive limitation of 1gb, so I needed to cleanup after each send. Turns out, you cannot simply place FileUtils.rm_rf('directorypath/name') after send_file to do the job. The reason is, send_file does not know its complete, and so FileUtils cannot remove the files its currently sending. The answer everyone on the internet suggests is scheduling a cron job to delete the files regularly. Since I was on openshift, and did not really want to use cron for this, I instead placed a job at the begining of each POST, that removes all directories older than 60 minutes.

In short, this is my code to delete directories older than 60 minutes.

def removedir(minutes)
  %x[find certs/* -type d -cmin +#{minutes} -exec rm -rf {} \\;]
end

and then it gets called at the beginning of each POST

post '/json' do
  removedir(60)
end