Get routes working
This commit is contained in:
parent
4b541b62f0
commit
b069331a1e
@ -2,7 +2,12 @@ from flask import current_app
|
||||
from flask_restx import Api, fields, apidoc, Model, Namespace, Resource
|
||||
from flask_restx.reqparse import RequestParser
|
||||
from app.mre_module import compute_mre
|
||||
from . import namespace
|
||||
|
||||
namespace = Namespace(
|
||||
'mre',
|
||||
description='API endpoints for MRE calculations.'
|
||||
)
|
||||
|
||||
|
||||
MRE_request_parser = RequestParser()
|
||||
MRE_request_parser.add_argument('consumer_fico',
|
||||
@ -18,7 +23,7 @@ MRE_request_parser.add_argument('down_payment',
|
||||
type=float,
|
||||
help='The down payment (as a percentage) for purchasing the home (float between [0, 1]).')
|
||||
|
||||
@namespace.route('compute_mre_from_home_price')
|
||||
@namespace.route('/compute_mre')
|
||||
@namespace.doc(params={
|
||||
'consumer_fico': 'The consumer\'s fico score (int).',
|
||||
'home_price': 'The price of the home (float).',
|
||||
@ -1,6 +0,0 @@
|
||||
from flask_restx import Namespace
|
||||
|
||||
namespace = Namespace(
|
||||
'mre',
|
||||
description='API endpoints for MRE calculations.'
|
||||
)
|
||||
@ -1,4 +1,4 @@
|
||||
from flask import Flask, g, request
|
||||
from flask import Flask, g, request, url_for
|
||||
import time
|
||||
import os
|
||||
from app.MRE import blueprint as mre_blueprint
|
||||
@ -45,4 +45,19 @@ def create_app(app_name: str='MRE') -> Flask:
|
||||
app.logger.info(f'HTTP request completed (method={request.method}, path={request.path}, request_time={request_time}, status_code={response.status_code}).')
|
||||
return response
|
||||
|
||||
def has_no_empty_params(rule):
|
||||
defaults = rule.defaults if rule.defaults is not None else ()
|
||||
arguments = rule.arguments if rule.arguments is not None else ()
|
||||
return len(defaults) >= len(arguments)
|
||||
|
||||
@app.route('/ping')
|
||||
def ping():
|
||||
links = []
|
||||
for rule in app.url_map.iter_rules():
|
||||
if "GET" in rule.methods and has_no_empty_params(rule):
|
||||
url = url_for(rule.endpoint, **(rule.defaults or {}))
|
||||
links.append(url)
|
||||
app.logger.info(f'Endpoint: {url}')
|
||||
return {'links': links}, 200
|
||||
|
||||
return app
|
||||
|
||||
Loading…
Reference in New Issue
Block a user