Merge pull request #16 from derferman/streaming

Provide a HTTP streaming endpoint
This commit is contained in:
Kenneth Reitz
2011-10-29 11:46:25 -07:00
+19 -1
View File
@@ -6,9 +6,10 @@ httpbin.core
This module provides the core HttpBin experience.
"""
import json
import os
import time
from flask import Flask, request, render_template, redirect, jsonify
from flask import Flask, Response, request, render_template, redirect, jsonify
from werkzeug.datastructures import WWWAuthenticate
@@ -147,6 +148,23 @@ def relative_redirect_n_times(n):
return response
@app.route('/stream/<int:n>')
def stream_n_messages(n):
"""Stream n JSON messages"""
response = get_dict('url', 'args', 'headers', 'origin')
def generate_stream():
for i in xrange(n):
response["id"] = i
yield json.dumps(response) + "\n"
time.sleep(1)
return Response(generate_stream(), headers={
"Transfer-Encoding": "chunked",
"Content-Type": "application/json",
})
@app.route('/status/<int:code>')
def view_status_code(code):
"""Returns given status code."""