def callback_post(): LOGGER.info('Logging Request: METHOD: ' + request.method + ' => ROUTE: /api/movies') response.set_header('Date', DATETIMESTAMP) try: accept = request.headers.get('Accept') response.set_header('Content-Type', determine_response_content_type(accept)) if 'application/json' not in request.headers.get( 'Content-Type') and 'application/vnd.collection+json' not in request.headers.get('Content-Type'): LOGGER.error('Unsupported media type sent') response.status = 415 response_body = ErrorCJ(ROOT, 'Invalid Content-Type', 415, 'application/json and application/vnd.collection+json supported') return response_body.to_json() request_json = json_loads(request._get_body_string()) if not request_json: raise Exception # debug # print request_json # connect to mongodb mongoengine.connect('api') movie_dict = dict() for item in request_json["template"]["data"]: movie_dict[item["name"]] = item["value"] # new movie movie = Movie() movie.sysid = str(uuid.uuid4()).replace("-", "") movie.created_on = datetime.datetime.now movie.updated_on = datetime.datetime.now movie.decode(movie_dict) movie.save() # send the response response.set_header('Location', ROOT + 'movies/' + movie.sysid) response.status = 201 movie = None return except Exception as e: LOGGER.error('Unexpected exception ' + str(e)) response.status = 500 response_body = ErrorCJ(ROOT, 'Error Title', 500, str(e)) return response_body.to_json()