Cambio de mensaje de estado HTTP utilizando Sinatra.

Estoy escribiendo una aplicación simple de Sinatra, y dado que un usuario publica una solicitud con datos específicos, quiero devolver un error '453' (código de error personalizado) con un mensaje CLIENT_ERROR o algo similar.

El problema es: al buscar en la documentación de Sinatra y realizar algunas pruebas, no pude encontrar una manera de configurar el mensaje de error de respuesta, solo el estado de la respuesta.

Por lo tanto, si un conjunto de la respuesta Sinatra

get '/' do
   response.status = 453
end

Me sale el código de error correcto:

curl -v localhost:4567

* About to connect() to localhost port 4567 (#0)
*   Trying 127.0.0.1... connected
> GET / HTTP/1.1
> User-Agent: curl/7.22.0 (x86_64-pc-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1 zlib/1.2.3.4     libidn/1.23 librtmp/2.3
> Host: localhost:4567
> Accept: */*
> 
< HTTP/1.1 453 
< X-Frame-Options: sameorigin
< X-XSS-Protection: 1; mode=block
< Content-Type: text/html;charset=utf-8
< Content-Length: 0
< Connection: keep-alive
< Server: thin 1.3.1 codename Triple Espresso
< 
* Connection #0 to host localhost left intact
* Closing connection #0

Pero lo que quiero tener es:

< HTTP/1.1 453 CLIENT_ERROR

De la misma manera que tengo

< HTTP/1.1 200 OK

Cuando todo va según el plan.

¿Hay alguna forma de hacer esto usando Sinatra / Rack?

Respuestas a la pregunta(2)

Su respuesta a la pregunta