1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
#Clase Persona con propiedades class Persona { $nombre $apellido $edad #Constructor de Persona Persona($nombre,$apellido,$edad) { $this.nombre = $nombre $this.apellido = $apellido $this.edad = $edad } } # Crear el objeto Persona $persona = [Persona]::new('juan','lopez','33') $contenidoweb = $persona | ConvertTo-Json $routes = @{ "/" = { return $contenidoweb } } $url = 'http://localhost:8080/' $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 $con $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() $responseStatus = $response.StatusCode Write-Host "Respuesta: $responseStatus" } |