import json
import ssl
import sys
+import time
import traceback
from optparse import OptionParser
from threading import Thread # for scaling up, may need celery with RabbitMQ or redis
import pydevd
+import yaml
from flask import Flask, request, Response, g
from requests import RequestException
from schematics.exceptions import DataError
+yaml.warnings({'YAMLLoadWarning': False})
+
import osdf.adapters.aaf.sms as sms
import osdf.operation.responses
from osdf.adapters.policy.interface import get_policies
from osdf.optimizers.placementopt.conductor.remote_opt_processor import process_placement_opt
from osdf.optimizers.routeopt.simple_route_opt import RouteOpt
from osdf.utils import api_data_utils
+from osdf.utils.mdc_utils import clear_mdc, mdc_from_json
from osdf.webapp.appcontroller import auth_basic
ERROR_TEMPLATE = osdf.ERROR_TEMPLATE
return response
+@app.before_request
+def log_request():
+ g.request_start = time.clock()
+ request_json = request.get_json()
+ g.request_id = request_json['requestInfo']['requestId']
+ mdc_from_json(request_json)
+
+
+@app.after_request
+def log_response(response):
+ clear_mdc()
+ return response
+
+
@app.route("/api/oof/v1/healthcheck", methods=["GET"])
def do_osdf_health_check():
"""Simple health check"""