mirror of
https://github.com/kennethreitz/httpbin.git
synced 2026-06-05 23:00:18 +00:00
Merge pull request #193 from msabramo/image
Update /image and add /image/{jpeg,png,webp}
This commit is contained in:
+33
-4
@@ -571,14 +571,43 @@ def image():
|
||||
"""Returns a simple image of the type suggest by the Accept header."""
|
||||
|
||||
headers = get_headers()
|
||||
if headers['accept'].lower() == 'image/png' or headers['accept'].lower() == 'image/*':
|
||||
return Response(base64.b64decode('iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAACklEQVR4nGMAAQAABQABDQottAAAAABJRU5ErkJggg=='), headers={'Content-Type': 'image/png'})
|
||||
elif headers['accept'].lower() == 'image/jpeg':
|
||||
return Response(base64.b64decode('/9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/yQALCAABAAEBAREA/8wABgAQEAX/2gAIAQEAAD8A0s8g/9k='), headers={'Content-Type': 'image/jpeg'})
|
||||
accept = headers['accept'].lower()
|
||||
|
||||
if 'image/webp' in accept:
|
||||
return image_webp()
|
||||
elif 'image/jpeg' in accept:
|
||||
return image_jpeg()
|
||||
elif 'image/png' in accept or 'image/*' in accept:
|
||||
return image_png()
|
||||
else:
|
||||
return status_code(404)
|
||||
|
||||
|
||||
@app.route('/image/png')
|
||||
def image_png():
|
||||
data = resource('images/pig_icon.png')
|
||||
return Response(data, headers={'Content-Type': 'image/png'})
|
||||
|
||||
|
||||
@app.route('/image/jpeg')
|
||||
def image_jpeg():
|
||||
data = resource('images/jackal.jpg')
|
||||
return Response(data, headers={'Content-Type': 'image/jpeg'})
|
||||
|
||||
|
||||
@app.route('/image/webp')
|
||||
def image_webp():
|
||||
data = resource('images/wolf_1.webp')
|
||||
return Response(data, headers={'Content-Type': 'image/webp'})
|
||||
|
||||
|
||||
def resource(filename):
|
||||
path = os.path.join(
|
||||
tmpl_dir,
|
||||
filename)
|
||||
return open(path, 'rb').read()
|
||||
|
||||
|
||||
@app.route("/xml")
|
||||
def xml():
|
||||
response = make_response(render_template("sample.xml"))
|
||||
|
||||
@@ -42,6 +42,10 @@
|
||||
<li><a href="/bytes/1024"><code>/bytes/:n</code></a> Generates <em>n</em> random bytes of binary data, accepts optional <em>seed</em> integer parameter.</li>
|
||||
<li><a href="/stream-bytes/1024"><code>/stream-bytes/:n</code></a> Streams <em>n</em> random bytes of binary data, accepts optional <em>seed</em> and <em>chunk_size</em> integer parameters.</li>
|
||||
<li><a href="/links/10"><code>/links/:n</code></a> Returns page containing <em>n</em> HTML links.</li>
|
||||
<li><a href="/image"><code>/image</code></a> Returns page containing an image.</li>
|
||||
<li><a href="/image/png"><code>/image/png</code></a> Returns page containing a PNG image.</li>
|
||||
<li><a href="/image/jpeg"><code>/image/jpeg</code></a> Returns page containing a JPEG image.</li>
|
||||
<li><a href="/image/webp"><code>/image/webp</code></a> Returns page containing a WEBP image.</li>
|
||||
<li><a href="/forms/post" data-bare-link="true"><code>/forms/post</code></a> HTML form that submits to <em>/post</em></li>
|
||||
<li><a href="/xml" data-bare-link="true"><code>/xml</code></a> Returns some XML</li>
|
||||
</ul>
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 35 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 7.9 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 10 KiB |
Reference in New Issue
Block a user