mirror of https://github.com/kubeflow/examples.git
32 lines
863 B
Python
32 lines
863 B
Python
from flask import Flask, request, abort, jsonify, make_response
|
|
|
|
|
|
class CodeSearchServer:
|
|
"""This utility class wraps the search engine into
|
|
an HTTP server based on Flask"""
|
|
def __init__(self, engine, host='0.0.0.0', port=8008):
|
|
self.app = Flask(__name__)
|
|
self.host = host
|
|
self.port = port
|
|
self.engine = engine
|
|
|
|
def init_routes(self):
|
|
# pylint: disable=unused-variable
|
|
|
|
@self.app.route('/ping')
|
|
def ping():
|
|
return make_response(jsonify(status=200), 200)
|
|
|
|
@self.app.route('/query')
|
|
def query():
|
|
query_str = request.args.get('query')
|
|
if not query_str:
|
|
abort(make_response(
|
|
jsonify(status=400, error="empty query"), 400))
|
|
|
|
result = self.engine.search(query_str)
|
|
return make_response(jsonify(result=result))
|
|
|
|
def run(self):
|
|
self.app.run(host=self.host, port=self.port)
|