Passing arguments to the Importer or Exporter Extension
-
Transcoders (objects that implement an importer or exporter interface) may be passed arguments in a dictionary object. For instance, FiddlerScript can invoke the HTTPArchive transcoder, passing in the filename string and maximum response size integers as follows:
var oSessions = FiddlerApplication.UI.GetAllSessions(); var oExportOptions = FiddlerObject.createDictionary(); oExportOptions.Add("Filename", "C:\\users\\ericlaw\\desktop\\out1.har"); oExportOptions.Add("MaxTextBodyLength", 1024); oExportOptions.Add("MaxBinaryBodyLength", 16384); FiddlerApplication.DoExport("HTTPArchive v1.2", oSessions, oExportOptions, null);
-
A transcoder extension may collect these options as follows:
public bool ExportSessions(string sFormat, Session[] oSessions, Dictionary<string, object> dictOptions, EventHandler<ProgressCallbackEventArgs> evtProgressNotifications) { //... if (null != dictOptions) { if (dictOptions.ContainsKey("Filename")) { sFilename = dictOptions["Filename"] as string; } if (dictOptions.ContainsKey("MaxTextBodyLength")) { iMaxTextBodyLength = (int)dictOptions["MaxTextBodyLength"]; } if (dictOptions.ContainsKey("MaxBinaryBodyLength")) { iMaxBinaryBodyLength = (int)dictOptions["MaxBinaryBodyLength"]; } }