Ruby One Time Web Server
Join the DZone community and get the full member experience.
Join For FreeAn interpretation of OneTimeWebServer 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]
Web server
Opinions expressed by DZone contributors are their own.
Comments