public PersistentFiddlerSession GetSessionWithId(string id) { var repo = new MongoRepository.MongoRepository<PersistentFiddlerSession>(); var resultSession = repo.GetById(id); if (null == resultSession) { throw new KeyNotFoundException(string.Format("Could not find a session id '{0}'", id)); } // checked if actual data is compressed vs expected length //if (resultSession.Len > resultSession.Data.Length) //{ // var uncompressed = Utility.UnZip(resultSession.Data); // resultSession.Data = uncompressed; //} var gridFsId = new ObjectId(resultSession.Data); var sessions = LoadSessionsFromGridFs(gridFsId); resultSession.SetSession(sessions[0]); return resultSession; }
public PersistentFiddlerSession SaveSession(Session oSession) { var gridfsFileInfo = SaveSessionAsGridFS(oSession); var data = gridfsFileInfo.Id.ToString(); var orignalLength = gridfsFileInfo.Length; //data = Utility.Zip(data); var persistentSession = new PersistentFiddlerSession(oSession) { Data = data, Len = orignalLength // so we know how long it should be }; var repo = new MongoRepository.MongoRepository<PersistentFiddlerSession>(); repo.Add(persistentSession); Log.Info(m => m("Saved session id: '{0}'", persistentSession.Id)); return persistentSession; }