def getResponseBodyAsJson()

in cli/bioims/src/bioims.py [0:0]


def getResponseBodyAsJson(response):
    if response['StatusCode']>299:
        raise Exception("lambda error")
    stream = response['Payload']
    bStrResponse = stream.read()
    strResponse = bStrResponse.decode("utf-8")
    if strResponse:
        try:
            jresponse = json.loads(strResponse)
        except:
            return strResponse
        if "statusCode" not in jresponse:
            errMsg = "Missing statusCode - message: " + strResponse
            raise Exception(errMsg)
        statusCode = jresponse['statusCode']
        if statusCode > 299:
            errMsg = "Error: " + jresponse['body']
            print(errMsg)
            raise Exception(errMsg)
        if 'body' not in jresponse:
            jresponse['body']=''
        jbody = jresponse['body']
        if type(jbody) is str:
            try:
                jvalue = json.loads(jbody)
            except:
                return jbody
        else:
            jvalue = jbody
        return jvalue
    else:
        return "{}";