import requests import json from flask import Flask,request from flask_hal import HAL,document,link from urllib.parse import quote app = Flask(__name__) HAL(app) app.config['SERVER_NAME'] = 'wiki-search.com' @app.route('/', subdomain="<term>") def search(term): search_results = search_wiki(term) collection = link.Collection() for result in search_results['query']['pages'].values(): collection.append(link.Link(result['title'], result['fullurl'])) response = document.Document( embedded={ "results": document.Embedded( links=collection ) }, data={ "term": term, }, ) return response.to_json()
#!/usr/bin/env python # encoding: utf-8 """ A Simple Example Flask Application ================================== """ # Third Party Libs from flask import Flask # First Party Libs from flask_hal import HAL, document app = Flask(__name__) HAL(app) # Initialise HAL @app.route('/hello') def hello(): return document.Document(data={'message': 'Hello World'}) if __name__ == "__main__": app.run(debug=True)
def test_can_set_custom_response_class(self): app = Flask(__name__) HAL(app, Response) assert app.response_class == Response
import logging from flask_cors import CORS from flask import Flask, json from flask_hal import HAL, HALResponse from chaosmonkey.api.attacks_blueprint import attacks from chaosmonkey.api.executors_blueprint import executors from chaosmonkey.api.planners_blueprint import planners from chaosmonkey.api.plans_blueprint import plans from chaosmonkey.api.api_errors import APIError log = logging.getLogger(__name__) # Create FlaskApp flask_app = Flask("cm_api") HAL(flask_app, HALResponse) CORS(flask_app) # Register blueprints root = "/api/" prev1 = root + "1" flask_app.register_blueprint(executors, url_prefix=prev1 + "/executors") flask_app.register_blueprint(plans, url_prefix=prev1 + "/plans") flask_app.register_blueprint(attacks, url_prefix=prev1 + "/attacks") flask_app.register_blueprint(planners, url_prefix=prev1 + "/planners") # Register error handler for custom APIError exception @flask_app.errorhandler(APIError) def handle_invalid_usage(error): """ Handler for APIErrors thrown by API endpoints
def test_init(self): app = Flask(__name__) HAL(app) assert app.response_class == HALResponse