golangでご覧!wて言いたくてgolangでHTTPサーバ書いた

golangでご覧!wて言いたくてHTTPサーバー書いた。PythonのSimpleHTTPServerっぽくなった。名前がgoranなので「golangのgoranでご覧!w」と言えるようになった。

tkmru/goran: simple http server.

雑に以下のようなかんじで使える。localhostにしないと使えないブラウザのAPIとかあって開発のときにシュッとHTTPサーバーを用意できると便利で一応そういう実用的な側面もある。

$ cd DOCUMENT_ROOT
$ goran
2017/11/07 23:22:29 Starting Goran HTTP Server
2017/11/07 23:22:29 Listen : http://127.0.0.1:8888
2017/11/07 23:22:29 RootDir: ./
2017/11/07 23:22:38 127.0.0.1:65208 GET /

いろいろオプションがあって、アドレス、ポート、ルートディレクトリ、configのパスを指定できる。

$ ./goran -h
Usage:
  -a string
        address to use (short) (default "127.0.0.1")
  -address string
        address to use (default "127.0.0.1")
  -c string
        config path to use (short)
  -config string
        config path to use
  -p uint
        port to use (short) (default 8888)
  -port uint
        port to use (default 8888)
  -r string
        root directory to use (short) (default "./")
  -root string
        root directory to use (default "./")

configファイルにはTOMLを使った。以下のように設定できる。

Port = 6000
Addr = "127.0.0.1"
rootDir = "/var/www/hoge"

Golangの勉強になってよかった。暇なときにworkerprocessとかキャッシュとかリバースプロキシの設定をできるようにしたい。