Fastcgi++: как создать 404 или 503 ответа

Fastcgi++ - это библиотека для облегчения реализации серверов fastcgi в C++. И вот очень простой вариант использования, который я хочу сделать: проверить наличие файла, а если не существует, сгенерировать какое-либо сообщение об ошибке. Вот код, ищите знаки вопроса.

struct the_fastcgi_server_t: Fastcgipp::Request<char>
{

    bool response() 
    {
        using namespace Fastcgipp;

        Fastcgipp::Http::Environment<char> const &env =
            this->environment();
        // Can I resolve the file?
        std::string target_js;
        try {
            target_js = path_processor( env.scriptName );
        } catch ( file_not_found_exc_t const& e )
        {
            // TODO How do I set a standard 404 here???!!
            return true;
        }

        out << "Content-Type: text/javascript; charset=utf-8\r\n\r\n";

        // ... Here I fill the response.

        return true;
    }
};

Любые идеи о том, как установить тип ответа?

1 ответ

Решение

Ответ в основном как здесь:

https://web.archive.org/web/20160115021335/http://www.fastcgi.com/docs/faq.html

То есть используйте фрагмент кода, подобный этому

 out << "Status: 404 Not found\r\n\r\n";

в методе ответа. Это не стандартный http, но FastCGI - это просто оболочка над CGI, и именно так CGI делает это.

Другие вопросы по тегам