$routes = @{
"/" = { return 'Servidor web funcionando' }
}
#Importante poner la IP de la red privada
$url = 'http://192.168.204.222:8027/'
$listener = New-Object System.Net.HttpListener
$listener.Prefixes.Add($url)
$listener.Start()
Write-Host "Funcionando $url..."
while ($listener.IsListening)
{
$context = $listener.GetContext()
$requestUrl = $context.Request.Url
$response = $context.Response
Write-Host ''
Write-Host "Petición: $requestUrl"
$localPath = $requestUrl.LocalPath
$route = $routes.Get_Item($requestUrl.LocalPath)
if ($route -eq $null)
{
$response.StatusCode = 404
}
else
{
$content = & $route
$buffer = [System.Text.Encoding]::UTF8.GetBytes($content)
$response.ContentLength64 = $buffer.Length
$response.OutputStream.Write($buffer, 0, $buffer.Length)
}
$response.Close()
start-process ($context.Request.RawUrl -replace "/")
$context.Request.RawUrl
$responseStatus = $response.StatusCode
Write-Host "Respuesta: $responseStatus"
}