diff --git a/sleepymongoose/handlers.py b/sleepymongoose/handlers.py index 3a420f4..7895bb2 100644 --- a/sleepymongoose/handlers.py +++ b/sleepymongoose/handlers.py @@ -157,7 +157,7 @@ def _connect(self, args, out, name = None, db = None, collection = None): if "server" in args: try: uri = args.getvalue('server') - info = connection._parse_uri(uri) + info = connection.uri_parser.parse_uri(uri) except Exception, e: print uri print e diff --git a/sleepymongoose/httpd.py b/sleepymongoose/httpd.py index 53629d5..4f7961f 100644 --- a/sleepymongoose/httpd.py +++ b/sleepymongoose/httpd.py @@ -95,13 +95,20 @@ def _parse_call(self, uri): else: return (parts[0], ".".join(parts[1:-1]), parts[-1]) + def end_headers(self): + for header in self.response_headers: + self.send_header(header[0], header[1]) + BaseHTTPRequestHandler.end_headers(self) + + def send_404(self, uri): + self.send_error(404, 'Script Not Found: '+uri) def call_handler(self, uri, args): """ execute something """ (db, collection, func_name) = self._parse_call(uri) if db == None or func_name == None: - self.send_error(404, 'Script Not Found: '+uri) + self.send_404(uri) return name = None @@ -122,8 +129,6 @@ def call_handler(self, uri, args): if callable(func): self.send_response(200, 'OK') self.send_header('Content-type', MongoHTTPRequest.mimetypes['json']) - for header in self.response_headers: - self.send_header(header[0], header[1]) self.end_headers() if self.jsonp_callback: @@ -133,7 +138,7 @@ def call_handler(self, uri, args): return else: - self.send_error(404, 'Script Not Found: '+uri) + self.send_404(uri) return def prependJSONPCallback(self, str): @@ -153,8 +158,6 @@ def process_uri(self, method): else: self.send_response(100, "Continue") self.send_header('Content-type', MongoHTTPRequest.mimetypes['json']) - for header in self.response_headers: - self.send_header(header[0], header[1]) self.end_headers() self.wfile.write('{"ok" : 0, "errmsg" : "100-continue msgs not handled yet"}') @@ -187,8 +190,6 @@ def do_GET(self): self.send_response(200, 'OK') self.send_header('Content-type', MongoHTTPRequest.mimetypes[type]) - for header in self.response_headers: - self.send_header(header[0], header[1]) self.end_headers() self.wfile.write(fh.read()) @@ -197,7 +198,7 @@ def do_GET(self): return else: - self.send_error(404, 'File Not Found: '+uri) + self.send_404(uri) return