public async Task Reset() { await DebugLogger.LogRequestDetailsAsync(_logger, Request); var recordingId = RecordingHandler.GetHeader(Request, "x-recording-id", allowNulls: true); _recordingHandler.SetDefaultExtensions(recordingId); }
public void Stop() { string id = RecordingHandler.GetHeader(Request, "x-recording-id"); bool.TryParse(RecordingHandler.GetHeader(Request, "x-purge-inmemory-recording", true), out var shouldPurgeRecording); _recordingHandler.StopPlayback(id, purgeMemoryStore: shouldPurgeRecording); }
public async Task SetRecordingOptions([FromBody()] IDictionary <string, object> options = null) { await DebugLogger.LogRequestDetailsAsync(_logger, Request); var recordingId = RecordingHandler.GetHeader(Request, "x-recording-id", allowNulls: true); _recordingHandler.SetRecordingOptions(options, recordingId); }
public void Stop([FromBody()] IDictionary <string, string> variables = null) { string id = RecordingHandler.GetHeader(Request, "x-recording-id"); bool save = true; EntryRecordMode mode = RecordingHandler.GetRecordMode(Request); if (mode != EntryRecordMode.Record && mode != EntryRecordMode.DontRecord) { throw new HttpException(HttpStatusCode.BadRequest, "When stopping a recording and providing a \"x-recording-skip\" value, only value \"request-response\" is accepted."); } if (mode == EntryRecordMode.DontRecord) { save = false; } _recordingHandler.StopRecording(id, variables: variables, saveRecording: save); }
public async Task SetMatcher() { await DebugLogger.LogRequestDetailsAsync(_logger, Request); var mName = RecordingHandler.GetHeader(Request, "x-abstraction-identifier"); var recordingId = RecordingHandler.GetHeader(Request, "x-recording-id", allowNulls: true); RecordMatcher m = (RecordMatcher)GetMatcher(mName, await HttpRequestInteractions.GetBody(Request)); if (recordingId != null) { _recordingHandler.SetMatcherForRecording(recordingId, m); } else { _recordingHandler.Matcher = m; } }
public async Task AddSanitizer() { await DebugLogger.LogRequestDetailsAsync(_logger, Request); var sName = RecordingHandler.GetHeader(Request, "x-abstraction-identifier"); var recordingId = RecordingHandler.GetHeader(Request, "x-recording-id", allowNulls: true); RecordedTestSanitizer s = (RecordedTestSanitizer)GetSanitizer(sName, await HttpRequestInteractions.GetBody(Request)); if (recordingId != null) { _recordingHandler.AddSanitizerToRecording(recordingId, s); } else { _recordingHandler.Sanitizers.Add(s); } }
public async Task AddTransform() { await DebugLogger.LogRequestDetailsAsync(_logger, Request); var tName = RecordingHandler.GetHeader(Request, "x-abstraction-identifier"); var recordingId = RecordingHandler.GetHeader(Request, "x-recording-id", allowNulls: true); ResponseTransform t = (ResponseTransform)GetTransform(tName, await HttpRequestInteractions.GetBody(Request)); if (recordingId != null) { _recordingHandler.AddTransformToRecording(recordingId, t); } else { _recordingHandler.Transforms.Add(t); } }
public async Task Start() { string file = await HttpRequestInteractions.GetBodyKey(Request, "x-recording-file", true); string recordingId = RecordingHandler.GetHeader(Request, "x-recording-id", true); if (String.IsNullOrEmpty(file) && !String.IsNullOrEmpty(recordingId)) { await _recordingHandler.StartPlaybackAsync(recordingId, Response, RecordingType.InMemory); } else if (!String.IsNullOrEmpty(file)) { await _recordingHandler.StartPlaybackAsync(file, Response, RecordingType.FilePersisted); } else { throw new HttpException(HttpStatusCode.BadRequest, "At least one of either JSON body key 'x-recording-file' or header 'x-recording-id' must be populated when starting playback."); } }
public async Task HandleRequest() { string id = RecordingHandler.GetHeader(Request, "x-recording-id"); await _recordingHandler.HandleRecordRequestAsync(id, Request, Response); }