Add JSONP support to REST endpoints.
JSONP is required to allow cross-origin API requests from JavaScript clients. This adds the `flask-jsonpify` library to support this additional request method, and uses it in all current routes. Change-Id: Ifb7d5abaa16cf165bfc763fec1189fdfb48a4b88
This commit is contained in:
parent
58a41eb680
commit
7cee0cfb40
@ -17,6 +17,7 @@ import ConfigParser
|
||||
import sys
|
||||
|
||||
import flask
|
||||
from flask.ext.jsonpify import jsonify
|
||||
from sqlalchemy import create_engine
|
||||
from sqlalchemy.orm import sessionmaker
|
||||
from subunit2sql.db import api
|
||||
@ -32,7 +33,7 @@ def get_runs_from_build_name(build_name):
|
||||
session = Session()
|
||||
db_runs = api.get_runs_by_key_value('build_name', build_name, session)
|
||||
runs = [run.to_dict() for run in db_runs]
|
||||
return flask.jsonify({'runs': runs})
|
||||
return jsonify({'runs': runs})
|
||||
|
||||
|
||||
@app.route('/runs', methods=['GET'])
|
||||
@ -41,7 +42,7 @@ def get_runs():
|
||||
session = Session()
|
||||
db_runs = api.get_all_runs(session)
|
||||
runs = [run.to_dict() for run in db_runs]
|
||||
return flask.jsonify({'runs': runs})
|
||||
return jsonify({'runs': runs})
|
||||
|
||||
|
||||
@app.route('/run/<string:run_id>/tests', methods=['GET'])
|
||||
@ -50,7 +51,7 @@ def get_tests_from_run(run_id):
|
||||
session = Session()
|
||||
db_tests = api.get_tests_from_run_id(run_id, session)
|
||||
tests = [test.to_dict() for test in db_tests]
|
||||
return flask.jsonify({'tests': tests})
|
||||
return jsonify({'tests': tests})
|
||||
|
||||
|
||||
@app.route('/run/<string:run_id>/test_runs', methods=['GET'])
|
||||
@ -58,7 +59,7 @@ def get_run_test_runs(run_id):
|
||||
global Session
|
||||
session = Session()
|
||||
db_test_runs = api.get_tests_run_dicts_from_run_id(run_id, session)
|
||||
return flask.jsonift(db_test_runs)
|
||||
return jsonify(db_test_runs)
|
||||
|
||||
|
||||
@app.route('/tests', methods=['GET'])
|
||||
@ -67,7 +68,7 @@ def get_tests():
|
||||
session = Session()
|
||||
db_tests = api.get_all_tests(session)
|
||||
tests = [test.to_dict() for test in db_tests]
|
||||
return flask.jsonify({'tests': tests})
|
||||
return jsonify({'tests': tests})
|
||||
|
||||
|
||||
@app.route('/test_runs', methods=['GET'])
|
||||
@ -76,7 +77,7 @@ def get_test_runs():
|
||||
session = Session()
|
||||
db_test_runs = api.get_all_test_runs(session)
|
||||
test_runs = [test_run.to_dict() for test_run in db_test_runs]
|
||||
return flask.jsonify({'test_runs': test_runs})
|
||||
return jsonify({'test_runs': test_runs})
|
||||
|
||||
|
||||
def main():
|
||||
|
@ -5,3 +5,4 @@ pbr<2.0,>=1.6
|
||||
flask
|
||||
subunit2sql>=0.8.0
|
||||
sqlalchemy
|
||||
flask-jsonpify
|
||||
|
Loading…
Reference in New Issue
Block a user