def replay(uid, body): if preset_count(uid) == 0: LOGGER.error("Cannot find matching request\n{0}".format(body)) raise HTTPResponse(b"No preset response", status=404) mock_request = json.loads(body) LOGGER.debug('[UID:{0}] Saving history:\n{1}'.format(uid, mock_request)) save_history(uid, mock_request) selected = select_preset(uid, mock_request) LOGGER.debug("SELECTED:\n{0}".format(selected)) return selected
def replay(uid): """ Replay a previously recorded preset, and save the request in history. Update the mock server identified by ``uid``. :returns: An HTTP response * Status Code 200 containing json data found in preset. * Status Code 404 if there are no matching presets. """ # Make a note that this mock server is still in use. pretender.keep_alive(uid) if preset_count(uid) == 0: raise HTTPResponse(b"No preset response", status=404) mock_request = json.loads(bottle.request.body.read().decode('ascii')) LOGGER.debug('[UID:{0}] Saving history:\n{1}'.format(uid, mock_request)) save_history(uid, mock_request) selected = select_preset(uid, mock_request['match']) bottle.response.content_type = 'application/json' return selected.as_json()