Per Cederqvist writes:

If you send something like "PUT / HTTP/1.0" to something derived from
BaseHTTPServer that doesn't define do_PUT, you will get a response
that begins like this:

	HTTP/1.0 501 Unsupported method ('do_PUT')
	Server: SimpleHTTP/0.3 Python/1.5
	Date: Tue, 30 Mar 1999 18:53:53 GMT

The server should complain about 'PUT' instead of 'do_PUT'.  This
patch should fix the problem.
diff --git a/Lib/BaseHTTPServer.py b/Lib/BaseHTTPServer.py
index 7c8975d..4c9645d 100644
--- a/Lib/BaseHTTPServer.py
+++ b/Lib/BaseHTTPServer.py
@@ -252,7 +252,7 @@
         self.headers = self.MessageClass(self.rfile, 0)
         mname = 'do_' + command
         if not hasattr(self, mname):
-            self.send_error(501, "Unsupported method (%s)" % `mname`)
+            self.send_error(501, "Unsupported method (%s)" % `command`)
             return
         method = getattr(self, mname)
         method()