実行モデル
入力ソース
本フレームワークは、入力を以下の優先順位で扱う。
POST リクエスト
GET の
QUERY_STRINGCLI 実行時の
sys.argvPATH_INFO
action の決定
ルーティング対象のアクションは、概ね次の流れで決まる。
クエリパラメータまたは PATH_INFO から
actionを取得そのキーが
routes辞書に登録されていれば対応関数を呼ぶ無ければ
/action形式も試すそれでも無ければエラー応答とする
出力モデル
HTML 応答
init_html(target='html') を呼ぶと、Content-Type: text/html を出力し、
必要に応じて X-Frame-Options や Content-Security-Policy も出力する。
JSON 応答
init_html(target='json') を呼ぶと、Content-Type: application/json を出力する。
その後、JSON 文字列を return または print する。
テンプレート
Jinja2 を用いる。テンプレート文字列を直接与える方法と、テンプレートファイルをロードする方法の両方がある。
ログ
configure(log_path=...) でログ出力先を設定できる。ロギングは Python の logging に委譲される。