OLD | NEW |
| (Empty) |
1 # Copyright 2013 The Chromium Authors. All rights reserved. | |
2 # Use of this source code is governed by a BSD-style license that can be | |
3 # found in the LICENSE file. | |
4 | |
5 """Request handler to display an image from Google Cloud Storage.""" | |
6 | |
7 import json | |
8 import os | |
9 import sys | |
10 import webapp2 | |
11 | |
12 from common import cloud_bucket | |
13 from common import constants | |
14 | |
15 import gs_bucket | |
16 | |
17 | |
18 class ImageHandler(webapp2.RequestHandler): | |
19 """A request handler to avoid the Same-Origin problem in the debug view.""" | |
20 | |
21 def get(self): | |
22 """Handles get requests to the ImageHandler. | |
23 | |
24 GET Parameters: | |
25 file_path: A path to an image resource in Google Cloud Storage. | |
26 """ | |
27 file_path = self.request.get('file_path') | |
28 if not file_path: | |
29 self.error(404) | |
30 return | |
31 bucket = gs_bucket.GoogleCloudStorageBucket(constants.BUCKET) | |
32 try: | |
33 image = bucket.DownloadFile(file_path) | |
34 except cloud_bucket.FileNotFoundError: | |
35 self.error(404) | |
36 else: | |
37 self.response.headers['Content-Type'] = 'image/png' | |
38 self.response.out.write(image) | |
OLD | NEW |