Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAleksey Lim <alsroot@sugarlabs.org>2012-10-01 21:47:57 (GMT)
committer Aleksey Lim <alsroot@sugarlabs.org>2012-10-01 21:47:57 (GMT)
commitaef511ba5d7768ba825531f4dc7ed58ef837c5cb (patch)
treea61525c8c0b757b71be9823739dc849f87b6a71d
parent24489c5b5deb44a20ad8bcfb20afe23828ff45c7 (diff)
Serve proper Content-Type from /hub
-rw-r--r--sugar_network/local/ipc_client.py15
-rw-r--r--sugar_network/resources/context.py2
2 files changed, 12 insertions, 5 deletions
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