Да, я делаю именно так, как Вы и говорите. В агрументы приходят именно request и response. И я проверяю наличие файла, всё именно так. Но если файла нету - оно даже не заходит сюда, т.е. мой код проверки не выполняется, а вместо него сразу летит ответ со стандартной ошибкой.
Задача сделать простой веб-сервер из средств, которые идут с руби в коробке. Как вариант - ещё есть возможность переопределить метод, отвечающий за вывод ошибок в WEBrick::HTTPServer. В общем буду пробовать. Если ничего не поможет - тогда уже буду разбираться с rack.
Спасибо!
Продолжаем.
Модифицировать обьект запроса нельзя, доступе только для чтения, так что предложенный выше вариант не подходит.
Написал вопрос на stackoverflow. Если найду решение - отпишусь здесь.
Но упорно насилуя документацию, увидел, что перед обработкой запроса можно вызвать колбэк с обьектами запроса и ответа. Соответсвенно можно самому проверять наличие файла по адресу запроса, и если его нету - модифицировать путь в объекте запроса на адрес к странице ошибки. Но это не красивое решение.
Возможно всё-таки кто-то знает о нормальной обработке ошибок в webrick?