Изменение сообщения о статусе HTTP с помощью Sinatra

Я пишу простое приложение Sinatra, и, учитывая, что пользователь отправляет запрос с конкретными данными, я хочу вернуть ошибку "453". (пользовательский код ошибки) с сообщением CLIENT_ERROR или чем-то подобным.

Проблема заключается в том, что, просматривая документацию по Sinatra и проводя некоторые тесты, я не смог найти способ настроить сообщение об ошибке ответа, только статус ответа.

Итак, если набор ответ Синатры

get '/' do
   response.status = 453
end

Я правильно понял код ошибки:

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

Но то, что я хочу иметь:

< HTTP/1.1 453 CLIENT_ERROR

Так же, как у меня

< HTTP/1.1 200 OK

Когда все идет по плану.

Есть ли способ сделать это с помощью Sinatra / Rack?

Ответы на вопрос(2)

Ваш ответ на вопрос