mirror of
https://github.com/kennethreitz/httpbin.git
synced 2026-06-05 23:00:18 +00:00
Merge pull request #16 from derferman/streaming
Provide a HTTP streaming endpoint
This commit is contained in:
+19
-1
@@ -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."""
|
||||
|
||||
Reference in New Issue
Block a user