読者です 読者をやめる 読者になる 読者になる

すずけんメモ

技術メモです

HTTP Serverの止め方

golang

結合テストの際にHTTP Serverを立ち上げて、テストが終わったらListenをやめる、というのをやりたかったので調べた。下のようにしてStopさせてみた。

gist.github.com

hydrogen18/stoppableListener · GitHub では StoppableListenerを実装していて、net.TCPListenerにstopのchannelをあわせたものをListenerとして定義している。StoppableListener.Stop()するとstop channelがcloseされて、Listenerも閉じられる。

参考: Stopping a listening HTTP Server in Go - Eric's Apparatus