Un servidor web en 30 líneas de código

  Tiembla IIS !! je ,je , interesante articulo de Oren Eini, en el que nos muestra como programar un servidor web en pocas lineas de codigo en Boo,
un leguaje que empezo como experimento inspirado en Python, pero que
cada vez coje mas fuerza, dada la comunidad que le acompaña.

 

import System.Net
import System.IO

if argv.Length != 2:
print "You must pass [prefix] [path] as parameters"
return

prefix = argv[0]
path = argv[1]

if not Directory.Exists(path):
print "Could not find ${path}"
return

listener = HttpListener()
listener.Prefixes.Add(prefix)
listener.Start()

while true:
context = listener.GetContext()
file = Path.GetFileName(context.Request.RawUrl)
fullPath = Path.Combine(path, file)
if File.Exists(fullPath):
context.Response.AddHeader("Content-Disposition","attachment; filename=${file}")
bytes = File.ReadAllBytes(fullPath)
context.Response.OutputStream.Write(bytes, 0, bytes.Length)
context.Response.OutputStream.Flush()
context.Response.Close()
else:
context.Response.StatusCode = 404
context.Response.Close()

 

 

 Para compilarlo solo

# booi prueba.boo http://localhost:8085/ ~/Desktop/

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *