/// <summary> /// Adds the Data base /// </summary> /// <param name="strDBName"></param> /// <returns></returns> public Boolean AddData(String strDBName, String strTableName, NetworkData objData) { //Declarations Boolean blnFlag = false; MongoDatabase objDB = GetServer().GetDatabase(strDBName); try { //Get the table MongoCollection objTable = objDB.GetCollection(strTableName); //Insert the data objTable.Insert(objData); objTable.Save(objData); blnFlag = true; } catch (Exception ex) { Utility.DisplayException("AddData", ex); } return blnFlag; }
/// <summary> /// Gets triggered before the request has been made /// </summary> /// <param name="objSession"></param> private void FiddlerApplication_BeforeRequest(Session objSession) { try { //Declarations Utility objUtility = new Utility(); DBUtility objDBUtility = new DBUtility(); //Declarations String strContentType = String.Empty; //Uncomment this if tampering of response is required //objSession.bBufferResponse = true; //Get the content type strContentType = objSession.oRequest.headers["Accept"]; //If its an HTML request or else the configuration has been set to capture all the requests if (strContentType.Contains("text/html") || _enConfiguration == Config.CaptureAll) { //Get the request headers HTTPRequestHeaders objRequestHeaders = objSession.oRequest.headers; //Construct the network data NetworkData objNetworkData = new NetworkData { ClientIP = objSession.clientIP, HostName = objSession.hostname, URLFullPath = objSession.fullUrl, IsHTTPS = objSession.isHTTPS, RequestedAt = objSession.Timers.ClientBeginRequest.ToString(), RequestType = objRequestHeaders.HTTPMethod }; //Get the request body String strRequestBody = objSession.GetRequestBodyAsString(); //If its a POST request if (objNetworkData.RequestType == "POST") //Get the request parameters objNetworkData.RequestParameters = objUtility.GetRequestParameters(strRequestBody); else if (objNetworkData.RequestType == "GET") { String [] arrQueryString = objNetworkData.URLFullPath.Split(new Char[] { '?' }); if(arrQueryString.Length > 1) objNetworkData.RequestParameters = objUtility.GetRequestParameters(arrQueryString[1]); } //Update the capture to Mongo DB if (_enConfiguration != Config.CaptureOnlyWithRequestParameters || objNetworkData.RequestParameters.Count > 0) objDBUtility.AddData("NetworkData", "NetworkData", objNetworkData); } } catch (Exception ex) { Utility.DisplayException("FiddlerApplication_BeforeRequest", ex); } }