4

Fastcgi++ は、C++ での fastcgi サーバーの実装を容易にするためのライブラリです。そして、これが私がやりたい非常に単純な使用例です: ファイルの存在をチェックし、存在しない場合はエラーメッセージを生成します。これがコードです。疑問符を探してください。

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;
    }
};

応答タイプを設定する方法についてのアイデアはありますか?

4

1 に答える 1

9

答えは基本的に次のとおりです。

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

つまり、このようなコードの断片を使用します

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

応答メソッドで。これは標準の http ではありませんが、FastCGI は CGI の単なるラッパーであり、それがCGIのやり方です。

于 2013-01-17T20:35:18.840 に答える