From aef511ba5d7768ba825531f4dc7ed58ef837c5cb Mon Sep 17 00:00:00 2001 From: Aleksey Lim Date: Mon, 01 Oct 2012 21:47:57 +0000 Subject: Serve proper Content-Type from /hub --- diff --git a/sugar_network/local/ipc_client.py b/sugar_network/local/ipc_client.py index dbedf4f..9be6974 100644 --- a/sugar_network/local/ipc_client.py +++ b/sugar_network/local/ipc_client.py @@ -27,15 +27,22 @@ class Router(router.Router): return sugar.uid() def call(self, request, response): - if request.environ['PATH_INFO'] == '/hub': - raise ad.Redirect('/hub/') if request.path and request.path[0] == 'hub': - return self._serve_hub(request.path[1:]) + # Since SSE doesn't support CORS for now, have to serve Hub + # from HTTP server instead of file:// for IPC users + return self._serve_hub(request, response) request.access_level = ad.ACCESS_LOCAL return router.Router.call(self, request, response) - def _serve_hub(self, path): + def _serve_hub(self, request, response): + if request.environ['PATH_INFO'] == '/hub': + raise ad.Redirect('/hub/') + path = request.path[1:] if not path: path = ['index.html'] path = join(hub_root.value, *path) + if path.endswith('.js'): + response.content_type = 'text/javascript' + if path.endswith('.css'): + response.content_type = 'text/css' return router.stream_reader(file(path, 'rb')) diff --git a/sugar_network/resources/context.py b/sugar_network/resources/context.py index 63d1e31..60018a1 100644 --- a/sugar_network/resources/context.py +++ b/sugar_network/resources/context.py @@ -81,7 +81,7 @@ class Context(Resource): mime_type='image/svg+xml') return value - @ad.active_property(ad.BlobProperty) + @ad.active_property(ad.BlobProperty, mime_type='image/png') def preview(self, value): return value -- cgit v0.9.1