Gauche-makiki で ホストが使用している port を表示する

こないだから触っていた netstatツールコンテナができました。
Gauche に付属していた example をごにょごにょしました。

実際に ポート情報を出力する部分(抜粋)はこんな感じ。
全体像は以下URLでコード見れます
https://github.com/moremagic/docker-netstat

結構複雑になっちゃった気がします。
もう少しうまい書き方があるんだろうな。
修行しよう

;; port-check app
(define-http-handler "/port-check"
  (^[req app]
    (respond/ok req
        (html:html
          (html:head (html:title "Makiki-port-check"))
          (html:body (html:h1 "You're running server port-check")
            (html:p "The server is running since " app
                    "at port " (request-server-port req)
                    " on host " (request-server-host req)
                    ".")
            (html:pre
               (string-join (use-port-string (iota (- 51000 32700) 32700)
                  (strlist->numlist
                     (map (^[s] (string-drop s 3))
                       (partition (^[s] (string-prefix? ":::" s))
                          (map (pick-num 3) 
                            (map (^[str] (string-split str #/\s+/)) (cmd-call '(netstat -an)))))))) "</br>")))))))


なお、 Dockerコンテナとして起動する場合は以下のようにしてみてください

docker run -dP --net=host moremagic/docker-netstat

http://hostname:8012/ にアクセスしてみてください。