

@weblab_api.route_web('/ilab/')
def ilab():
    action = request.headers.get('SOAPAction')
    if (action is None):
        return 'No SOAPAction provided'
    if (weblab_api.ctx.session_id is None):
        return 'Not logged in!'
    if (weblab_api.ctx.reservation_id is None):
        try:
            reservation_id_str = weblab_api.api.get_reservation_id_by_session_id()
            weblab_api.ctx.reservation_id = reservation_id_str
        except:
            traceback.print_exc()
    methods = {
        '"http://ilab.mit.edu/GetLabConfiguration"': process_GetLabConfiguration,
        '"http://ilab.mit.edu/Submit"': process_Submit,
        '"http://ilab.mit.edu/GetExperimentStatus"': process_GetExperimentStatus,
        '"http://ilab.mit.edu/RetrieveResult"': process_RetrieveResult,
        '"http://ilab.mit.edu/SaveAnnotation"': process_SaveAnnotation,
        '"http://ilab.mit.edu/ListAllClientItems"': process_ListAllClientItems,
        '"http://ilab.mit.edu/LoadClientItem"': process_LoadClientItem,
        '"http://ilab.mit.edu/SaveClientItem"': process_SaveClientItem,
        '"http://ilab.mit.edu/GetExperimentInformation"': process_GetExperimentInformation,
    }
    if (not (action in methods)):
        return 'Action not found'
    response = make_response(methods[action]())
    response.content_type = 'text/xml'
    if hasattr(weblab_api.ctx, 'other_cookies'):
        for (name, value) in weblab_api.ctx.other_cookies:
            value.set_cookie(name, value, path=weblab_api.ctx.location)
    return response

dataset/ETHPy150Open weblabdeusto/weblabdeusto/server/src/weblab/core/web/ilab.py ilab/VarMisuse@218/442 `response`->`value`