Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / chrome / test / ispy / server / image_handler.py
blobd1f11f24897aeb2dcde5c542ab56166dea62d2cc
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.
5 """Request handler to display an image from Google Cloud Storage."""
7 import json
8 import os
9 import sys
10 import webapp2
12 from common import cloud_bucket
13 from common import constants
15 import gs_bucket
18 class ImageHandler(webapp2.RequestHandler):
19 """A request handler to avoid the Same-Origin problem in the debug view."""
21 def get(self):
22 """Handles get requests to the ImageHandler.
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)