DZone Snippets is a public source code repository. Easily build up your personal collection of code snippets, categorize them with tags / keywords, and share them with the world
Ruby One Time Web Server
An interpretation of <a href="http://c2.com/cgi/wiki?OneTimeWebServer">OneTimeWebServer</a> in Ruby. OneTimeWebServer holds a single "page" in memory, serves it to the first visitor, and evaporates. Useful for all sorts of hijinks.
#!/usr/local/bin/ruby
require 'socket'
t = STDIN.read
while s = TCPServer.new('127.0.0.1', (ARGV[0] or 8080)).accept
puts s.gets
s.print "HTTP/1.1 200/OK\rContent-type: text/plain\r\n\r\n" + t
s.close
exit
end
Usage:
echo "test" | ./otws.rb [optional port number, defaults to 8080]
Or for recursive fun:
cat otws.rb | ./otws.rb [optional port number, defaults to 8080]





