Squeak で使える HTTP クライアントがへぼくて使えねー。これは自分で作るかと思ったのだが、いかにも他の人が沢山作ってそうなネタなので一応調べてみた。やりたい事は単純で、HTTP でコンテンツを取得する時にプログレスバーを出したいという事だけだ。
まず一番お手軽な方法。
'http://www.squeakland.jp' asUrl retrieveContents contents
内部で HTTPSocket クラスが使われていて、こう書いても同じ。
HTTPSocket httpGetDocument: 'http://www.squeakland.jp' args: nil accept: 'application/octet-stream' request: ''
HTTPClient と言うのもあるがこれも内部で HTTPSocket を使う。
(HTTPClient httpGet: 'http://www.squeakland.jp') contents
HTTPLoader という妙な物もある。これはバックグラウンドでダウンロードしたい時に使うみたい。
HTTPLoader default retrieveContentsFor: 'http://www.squeakland.jp'
標準では無いが、http://map.squeak.org/packagebyname/HTTPClient 。プログレスバーも使えるし、良い事尽くめのような事が書いてあるが、ダウンロード出来なかった。