You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

34 lines
1.3 KiB

"""
REST handler for `upload_model` command
"""
from util.searchinfo_util import searchinfo_from_request
from util import onnx_util
class UploadModel(object):
@classmethod
def handle_post(cls, request, path_parts):
"""
Handles POST requests
Args:
request: a dictionary providing information about the request
path_parts: a list of strings describing the request path
"""
try:
searchinfo = searchinfo_from_request(request)
# TODO: Create safe_handler to handle post request safely
process_options = onnx_util.create_process_options_for_rest(
request, searchinfo, process_options={}
)
response = onnx_util.validate_model_and_upload(process_options, searchinfo)
except Exception as e:
message = (
f"{e} Error occurred while model upload. Please check mlspl.log for error logs "
)
error = onnx_util.ModelUploadResponse(message=message).get_response_error()
return error
# Return success or failure based on whether the model file is validated and verified.
success = onnx_util.ModelUploadResponse(payload=response).get_response_success()
return success