SimpleHTTPServerのMIMEタイプ追加
今HTML5でGPSロガー作ろうと言う事でコーディング中。
んで山の中の僻地言った場合どうすんのよとかいちいちつなぐとお金掛かるし的な事を考えてOffline Web Applicationsを使おうとなり、習得の為に写経することにした。
とりあえずテスト用にHTTPサーバーが欲しいときにはPythonistaな人なら迷わず
python -m SimpleHTTPServer
とやってると思います。
Offline Web Applicationsを実現するにはキャッシュマニフェストというものを書かないといけないんだけど、それのMIMEタイプが"text/cache-manifest"にする必要がある。
そこでMIMEタイプを追加する方法を調べたらSimpleHTTPHandlerのextensions_mapにマッピングを追加すればいいらしい。
ちなみにextensions_mapはdict型です。
出来たコードは以下。
コード自体は9割公式マニュアルのパクリです。
#! python # -*- coding:utf-8 -*- import SimpleHTTPServer import SocketServer PORT = 8000 Handler = SimpleHTTPServer.SimpleHTTPRequestHandler Handler.extensions_map['.manifest'] = 'text/cache-manifest' httpd = SocketServer.TCPServer(("",PORT), Handler) print "serving at port", PORT httpd.serve_forever()
取得結果もばっちり。