Skip to content

Instantly share code, notes, and snippets.

@yyamano
Last active December 12, 2016 07:22
Show Gist options
  • Save yyamano/c7a0c75fbdccbe0e3695ffd657e00211 to your computer and use it in GitHub Desktop.
Save yyamano/c7a0c75fbdccbe0e3695ffd657e00211 to your computer and use it in GitHub Desktop.

ビルドシステムのリファクタリング

  • ビルドシステムが複雑で辛いのでなんとかしたい
    • mrubyとnginxはそれぞれ独自のビルドシステムを持っており、ngx_mrubyはそれをつなぐモジュールなので仕方ないけど…
    • まだよくわかってないことが多い
  • build.sh と test.shのコードが重複
  • 環境変数と引数指定の混在をどうにかしたい
  • ダイナミックモジュールとスタティックモジュールのビルドの整理。
    • configure後は切り替えれないが、Makefileの中には切り替えているコードもある
  • 再ビルド、生成したファイルの削除などが思ったようにいかないことがある。未調査。
  • 機能追加

空のボディが返せない

  • mruby_content_handler_code 'Nginx.rputs nil'; not work #225
  • HTTP status 200 with empty body doesn't work #200
  • 少なくとも ngx_mrb_run()を修正する必要がある。レスポンスボディを返す後続の処理がないことをどう判断する?
  • ngx_mrb_run()のコードから読み取れないこと
    • (Support multi path per directive #128](matsumotory/ngx_mruby#128) をどのように実装していこうとしているのか。僕自身は利用シナリオがよくわからない。
    • mrb_run()の後は分岐に寄って、微妙に処理が異なるのは意図的?
    • コンテンツフェーズ以外のハンドラでもレスポンスボディが返せそうなのは意図的?

フィルタの無限ループ

  • output filters infinite loop #206
  • ボディを変更したらcontent-lengthも変更するのは今のnginxのアーキテクチャでは難しいのでは?
  • gzipモジュールではcontent-lengthヘッダを削除している

issueの棚卸

クローズ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment