Destacada para HTTPEstos días he desarrollado un script que se comporta de manera diferente dependiendo del código de estado de HTTP (status code) devuelto por un servidor web al que realiza una petición. Esta es una tarea fácil para cualquier lenguaje de programación de alto nivel pero el problema radica en que no hay un servidor web que esté preparado para devolvernos todos los códigos de estado que necesitamos.

Según la Wikipedia existen al menos 75 códigos e instalar y configurar un servidor web tipo Apache o Nginx solo para que nos los devuelva todos  ellos es una tarea muy tediosa y poco gratificante. Para ahorrarnos todo ese trabajo tenemos el servicio httpstat.us, donde podemos realizar peticiones que nos devolverán los códigos de estado que necesitemos. Actualmente soporta 53 códigos, lo que puede ser más que suficiente para cubrir nuestras necesidades. ¿Jugamos un poco?

Podemos usar curl para realizar una petición HTTP al servidor web esperando un código 200 OK:

$ curl -i -H "Accept: application/json" httpstat.us/200
HTTP/1.1 200 OK
Cache-Control: private
Content-Length: 8
Content-Type: application/json; charset=utf-8
Server: Microsoft-IIS/10.0
X-AspNetMvc-Version: 5.1
Access-Control-Allow-Origin: *
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Set-Cookie: ARRAffinity=bbb40f4009ba789f5264e9e5e204328c6c0f5fec4920fc9fbe151af5bae64a72;Path=/;HttpOnly;Domain=httpstat.us
Date: Fri, 03 Aug 2018 13:41:49 GMT

Dependiendo del número definido en el path, esperaremos una respuesta del mismo código, en este caso el que esperamos es 500 Internal Server Error:

$ curl -i -H "Accept: application/json" httpstat.us/500
HTTP/1.1 500 Internal Server Error
Cache-Control: private
Content-Length: 27
Content-Type: application/json; charset=utf-8
Server: Microsoft-IIS/10.0
X-AspNetMvc-Version: 5.1
Access-Control-Allow-Origin: *

Vemos que estamos recibiendo los códigos de estado según lo previsto, este es un servicio que siendo muy simple resulta de mucha utilidad para acelerar el desarrollo de nuestras aplicaciones. Si os preguntáis cuál es el software que mueve este servicio, se llama httpstatus y está alojado en GitHub bajo licencia MIT. Está programado en C# así que en principio su ejecución es exclusiva para entornos Windows, aunque es posible que pueda ejecutarse con Mono. Sería genial tener tener este mismo servidor portado a una tecnología multiplataforma como Node.js o Java para poder lanzarlo en local sobre cualquier sistema operativo. Si queréis saber más, todos los detalles sobre su uso se recojen en la portada de su sitio web.

Desarrolla contra HTTP Status Codes con httpstat.us
Etiquetado en:                

Deja un comentario

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

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.