リクエストパラメータの取得

ソース

1import std.string;
2import jp.ku6.raptan.core;
3
4void main()
5{
6    // リクエストの処理
7    string action(Request request, Response response)
8    {
9        // Content-Typeを設定
10        response.contentType = "text/html; charset=UTF-8";
11
12        // 指定したキーで値を取得する
13        string name = request.getParameter("name");
14
15        // 指定した型で値を取得する
16        // 第2引数は、変換出来ない場合のデフォルト値
17        // 例えば、uint型で取ろうとしたときにアルファベットが入っていた時。
18        // 省略するとその型のinitが使われる
19        uint id = request.getParameterAs!(uint)("id", 0);
20
21        // 出力するデータを追加
22        response.append(format("id=%d, name=%s", id, name));
23
24        // 内部リダイレクトを使わない場合はnullを返す
25        return null;
26    }
27
28    // Raptan生成
29    auto raptan = new Raptan(8192, 0, "/tmp/uploaded/");
30
31    // リクエストのパスに対して実行するdelegateを割り当てる
32    raptan.setAction("/fastcgi/tutorial3.fcgi", &action);
33
34    // スレッドを作成して処理を開始
35    raptan.start();
36
37    // スレッド終了を待機
38    raptan.join();
39}

実行結果

上記をコンパイルし、「?id=5&name=test」を付けてCGIとしてアクセスすると下記が表示されます。
または、フォームからPOSTでも可です。

id=5, name=test