SimpleHTTPServerのMIMEタイプ追加

HTML5GPSロガー作ろうと言う事でコーディング中。
んで山の中の僻地言った場合どうすんのよとかいちいちつなぐとお金掛かるし的な事を考えて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()

取得結果もばっちり。