-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathFiddlerCore4.xml
4280 lines (4265 loc) · 203 KB
/
FiddlerCore4.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<?xml version="1.0"?>
<doc>
<assembly>
<name>FiddlerCore4</name>
</assembly>
<members>
<member name="T:Fiddler.WinINETCache">
<summary>
Wrapper for WinINET cache APIs.
</summary>
</member>
<member name="M:Fiddler.WinINETCache.ClearCookies">
<summary>
Clear all HTTP Cookies from the WinINET Cache
</summary>
</member>
<member name="M:Fiddler.WinINETCache.ClearFiles">
<summary>
Clear all files from the WinINET Cache
</summary>
</member>
<member name="M:Fiddler.WinINETCache.ClearCookiesForHost(System.String)">
<summary>
Delete all permanent WinINET cookies for sHost; won't clear memory-only session cookies. Supports hostnames with an optional leading wildcard, e.g. *example.com. NOTE: Will not work on VistaIE Protected Mode cookies.
</summary>
<param name="sHost">The hostname whose cookies should be cleared</param>
</member>
<member name="M:Fiddler.WinINETCache.ClearCacheItems(System.Boolean,System.Boolean)">
<summary>
Clear the Cache items. Note: May be synchronous, may be asynchronous.
</summary>
<param name="bClearFiles"></param>
<param name="bClearCookies"></param>
</member>
<member name="T:Fiddler.WinINETCache.INTERNET_CACHE_ENTRY_INFOA">
<summary>
For PInvoke: Contains information about an entry in the Internet cache
</summary>
</member>
<member name="T:Fiddler.WinINETProxyInfo">
<summary>
Wrapper for WinINET proxy configuration APIs
</summary>
</member>
<member name="M:Fiddler.WinINETProxyInfo.CreateFromNamedConnection(System.String)">
<summary>
Gathers proxy information from a named connection.
</summary>
<param name="sConnectionName">Pass DefaultLAN to look for the "null" connection</param>
<returns>Proxy info, or null</returns>
</member>
<member name="M:Fiddler.WinINETProxyInfo.ToString">
<summary>
Returns a multi-line string representing the proxy settings
</summary>
<returns></returns>
</member>
<member name="M:Fiddler.WinINETProxyInfo.CalculateProxyString">
<summary>
Calculate a string suitable for passing into WinINET APIs.
</summary>
<returns>Returns a string containing proxy information, or NULL. NB: I've seen WinINET blow up when passed String.Empty rather than null.
</returns>
</member>
<member name="M:Fiddler.WinINETProxyInfo.InitializeFromProxyString(System.String)">
<summary>
Given a proxy string, we crack out the proxy gateways for each protocol
</summary>
<param name="sProxyString">e.g. HTTP=itgproxy:80;FTP=ftpprox:21;</param>
<returns>false on error</returns>
</member>
<member name="M:Fiddler.WinINETProxyInfo.GetFromWinINET(System.String)">
<summary>
Fills this WinINETProxyInfo instance with settings from specified WinINET connection.
</summary>
<param name="sConnectionName">Name of the connection. Pass NULL for LAN connection.</param>
</member>
<member name="M:Fiddler.WinINETProxyInfo.SetToWinINET(System.String)">
<summary>
Sets WinINET proxy settings for specified connection to those specified in this WinINETProxy instance.
</summary>
<param name="sConnectionName">Name of the connection. Pass NULL for LAN connection.</param>
</member>
<member name="P:Fiddler.WinINETProxyInfo.sHostsThatBypass">
<summary>
List of hostnames that should bypass the fixed proxy
</summary>
</member>
<member name="P:Fiddler.WinINETProxyInfo.bUseManualProxies">
<summary>
TRUE if manually-specified proxy should be used.
</summary>
</member>
<member name="P:Fiddler.WinINETProxyInfo.bAllowDirect">
<summary>
TRUE if a direct HTTP connection may be made if AutoProxy/PAC is unreachable or corrupt
</summary>
</member>
<member name="P:Fiddler.WinINETProxyInfo.bBypassIntranetHosts">
<summary>
True if the proxy should be bypassed for dotless hostnames
</summary>
</member>
<member name="P:Fiddler.WinINETProxyInfo.sHttpProxy">
<summary>
String representing the endpoint of the proxy for HTTP-traffic, if configured
</summary>
</member>
<member name="P:Fiddler.WinINETProxyInfo.sHttpsProxy">
<summary>
String representing the endpoint of the proxy for HTTPS-traffic, if configured
</summary>
</member>
<member name="P:Fiddler.WinINETProxyInfo.sFtpProxy">
<summary>
String representing the endpoint of the proxy for FTP-traffic, if configured
</summary>
</member>
<member name="P:Fiddler.WinINETProxyInfo.sSocksProxy">
<summary>
String representing the endpoint of the proxy for SOCKS-traffic, if configured
</summary>
</member>
<member name="P:Fiddler.WinINETProxyInfo.bAutoDetect">
<summary>
Bool indicating whether this connection is set to autodetect the proxy
</summary>
</member>
<member name="P:Fiddler.WinINETProxyInfo.sPACScriptLocation">
<summary>
Returns a string pointing to the ProxyAutoConfig script, or null
</summary>
</member>
<member name="T:Fiddler.HTTPSClientHello">
<summary>
Summary description for HTTPSMessages.
</summary>
</member>
<member name="T:Fiddler.Session">
<summary>
The Session object manages the complete HTTP session including the UI listitem, the ServerChatter, and the ClientChatter.
</summary>
</member>
<member name="F:Fiddler.Session.__WebRequestForAuth">
<summary>
Sorta hacky, we may use a .NET WebRequest object to generate a valid NTLM response if the server
demands authentication and we don't have a way to get it from the client (e.g. RequestBuilder scenarios)
</summary>
</member>
<member name="M:Fiddler.Session.SetBitFlag(Fiddler.SessionFlags,System.Boolean)">
<summary>
Sets or unsets the specified SessionFlag(s)
</summary>
<param name="FlagsToSet">SessionFlags</param>
<param name="b">Desired set value</param>
</member>
<member name="M:Fiddler.Session.isFlagSet(Fiddler.SessionFlags)">
<summary>
Test the session's BitFlags
</summary>
<param name="FlagsToTest">One or more (OR'd) SessionFlags</param>
<returns>TRUE if specified flag(s) are set</returns>
</member>
<member name="M:Fiddler.Session.isAnyFlagSet(Fiddler.SessionFlags)">
<summary>
Test the session's BitFlags
</summary>
<param name="FlagsToTest">One or more (OR'd) SessionFlags</param>
<returns>TRUE if any of specified flag(s) are set</returns>
</member>
<member name="F:Fiddler.Session.bBufferResponse">
<summary>
Should response be buffered for tampering
</summary>
</member>
<member name="F:Fiddler.Session.Timers">
<summary>
Timers stored as this session progresses
</summary>
</member>
<member name="F:Fiddler.Session.ViewItem">
<summary>
ListViewItem object associated with this session in the Session list.
</summary>
</member>
<member name="F:Fiddler.Session.isTunnel">
<summary>
Is this a HTTP CONNECT tunnel?
</summary>
</member>
<member name="F:Fiddler.Session.oResponse">
<summary>
Object representing the HTTP Response.
</summary>
</member>
<member name="F:Fiddler.Session.oRequest">
<summary>
Object representing the HTTP Request.
</summary>
</member>
<member name="F:Fiddler.Session.oFlags">
<summary>
Fiddler-internal flags set on the session.
</summary>
</member>
<member name="F:Fiddler.Session.requestBodyBytes">
<summary>
Contains the bytes of the request body.
</summary>
</member>
<member name="F:Fiddler.Session.responseBodyBytes">
<summary>
Contains the bytes of the response body.
</summary>
</member>
<member name="F:Fiddler.Session.m_clientIP">
<summary>
IP Address of the client for this session.
</summary>
</member>
<member name="F:Fiddler.Session.m_clientPort">
<summary>
Client port attached to Fiddler.
</summary>
</member>
<member name="F:Fiddler.Session.m_hostIP">
<summary>
IP Address of the server for this session.
</summary>
</member>
<member name="M:Fiddler.Session.HTTPMethodIs(System.String)">
<summary>
Returns TRUE if the Session's HTTP Method is available and matches the target method
</summary>
<param name="sTestFor"></param>
<returns>true, if the method is present and matches sTestFor (case-insensitive); otherwise false.</returns>
</member>
<member name="M:Fiddler.Session.HostnameIs(System.String)">
<summary>
Returns TRUE if the Session's target hostname (no port) matches sTestHost (case-insensitively).
</summary>
<param name="sTestHost"></param>
<returns></returns>
</member>
<member name="M:Fiddler.Session._MakeSafeFilename(System.String)">
<summary>
Replaces any characters in a filename that are unsafe with safe equivalents
</summary>
<param name="sFilename"></param>
<returns></returns>
</member>
<member name="M:Fiddler.Session.ToHTMLFragment(System.Boolean)">
<summary>
Returns HTML representing the session. Call StringToCF_HTML on the result of this function before placing it on the clipboard.
</summary>
<returns></returns>
</member>
<member name="M:Fiddler.Session.ToString(System.Boolean)">
<summary>
Store this session's request and response to a string.
</summary>
<param name="HeadersOnly">If true, return only the request and response headers</param>
<returns>String representing this session</returns>
</member>
<member name="M:Fiddler.Session.ToString">
<summary>
Store this session's request and response to a string.
</summary>
<returns></returns>
</member>
<member name="M:Fiddler.Session.ThreadPause">
<summary>
This private method pauses the Session's thread to allow breakpoint debugging
</summary>
</member>
<member name="M:Fiddler.Session.ThreadResume">
<summary>
This method resumes the Session's thread in response to "Continue" commands from the UI
</summary>
</member>
<member name="M:Fiddler.Session.CreateAndExecute(System.Object)">
<summary>
Called by an AcceptConnection-spawned background thread, create a new session object from a client socket and execute the session
</summary>
<param name="oParams">Parameter object defining client socket and endpoint's HTTPS certificate, if present</param>
</member>
<member name="M:Fiddler.Session.COMETPeek">
<summary>
Call this function while in the "reading response" state to update the responseBodyBytes array with
the partially read response.
</summary>
<returns>TRUE if the peek succeeded; FALSE if not in the ReadingResponse state</returns>
</member>
<member name="M:Fiddler.Session.PoisonServerPipe">
<summary>
Prevents the server pipe from this session from being pooled for reuse
</summary>
</member>
<member name="M:Fiddler.Session.PoisonClientPipe">
<summary>
Ensures that, after the response is complete, the client socket is closed and not reused
</summary>
</member>
<member name="M:Fiddler.Session.CloseSessionPipes(System.Boolean)">
<summary>
Immediately close client and server sockets. Call in the event of errors-- doesn't queue server pipes for future reuse.
</summary>
<param name="bNullThemToo"></param>
</member>
<member name="M:Fiddler.Session.Abort">
<summary>
Closes both client and server pipes and moves state to Aborted; unpauses thread if paused.
</summary>
</member>
<member name="M:Fiddler.Session.SaveResponseBody">
<summary>
Save HTTP response body to Fiddler Captures folder. You likely want to call utilDecodeResponse first.
</summary>
<returns></returns>
</member>
<member name="M:Fiddler.Session.SaveResponseBody(System.String)">
<summary>
Save HTTP response body to specified location. You likely want to call utilDecodeResponse first.
</summary>
<param name="sFilename"></param>
<returns></returns>
</member>
<member name="M:Fiddler.Session.SaveRequestBody(System.String)">
<summary>
Save the request body to a file. You likely want to call utilDecodeRequest first.
</summary>
<param name="sFilename"></param>
<returns></returns>
</member>
<member name="M:Fiddler.Session.SaveSession(System.String,System.Boolean)">
<summary>
Save the session to a file
</summary>
<param name="sFilename"></param>
<param name="bHeadersOnly"></param>
</member>
<member name="M:Fiddler.Session.SaveRequest(System.String,System.Boolean)">
<summary>
Save the request to a file
</summary>
<param name="sFilename"></param>
<param name="bHeadersOnly"></param>
</member>
<member name="M:Fiddler.Session.SaveRequest(System.String,System.Boolean,System.Boolean)">
<summary>
Save the request to a file
</summary>
<param name="sFilename"></param>
<param name="bHeadersOnly"></param>
<param name="bIncludeSchemeAndHostInPath"></param>
</member>
<member name="M:Fiddler.Session.LoadMetadata(System.IO.Stream)">
<summary>
Read metadata about this session from a stream. Closes stream when done.
</summary>
<param name="strmMetadata"></param>
<returns></returns>
</member>
<member name="M:Fiddler.Session.SaveMetadata(System.String)">
<summary>
Writes this session's metadata to a file
</summary>
<param name="sFilename"></param>
<returns></returns>
</member>
<member name="M:Fiddler.Session.SaveResponse(System.String,System.Boolean)">
<summary>
Saves the response to a file
</summary>
<param name="sFilename">The File to write</param>
<param name="bHeadersOnly">TRUE if only heaers should be written</param>
</member>
<member name="M:Fiddler.Session.WriteMetadataToStream(System.IO.Stream)">
<summary>
Write the metadata about this session to a stream
</summary>
<param name="strmMetadata">The Stream to write to</param>
</member>
<member name="M:Fiddler.Session.WriteRequestToStream(System.Boolean,System.Boolean,System.IO.Stream)">
<summary>
Write the session's Request (or headers) to the specified stream
</summary>
<param name="bHeadersOnly"></param>
<param name="bIncludeProtocolAndHostWithPath"></param>
<param name="oFS"></param>
<returns></returns>
</member>
<member name="M:Fiddler.Session.WriteResponseToStream(System.IO.Stream,System.Boolean)">
<summary>
Write the session's Response (or headers) to the specified stream
</summary>
<param name="oFS"></param>
<param name="bHeadersOnly"></param>
<returns></returns>
</member>
<member name="M:Fiddler.Session.WriteToStream(System.IO.Stream,System.Boolean)">
<summary>
Write the session (or session headers) to the specified stream
</summary>
<param name="oFS"></param>
<param name="bHeadersOnly"></param>
<returns></returns>
</member>
<member name="M:Fiddler.Session.LoadRequestBodyFromFile(System.String)">
<summary>
Replace HTTP request headers and body using the specified file.
</summary>
<param name="sFilename">The file containing the request</param>
<returns></returns>
</member>
<member name="M:Fiddler.Session.LoadResponseFromFile(System.String)">
<summary>
Replace HTTP response headers and body using the specified file.
</summary>
<param name="sFilename">The file containing the response</param>
<returns></returns>
</member>
<member name="M:Fiddler.Session.GetRequestBodyAsString">
<summary>
Return a string generated from the request body, decoding it and converting from a codepage if needed. Throws on errors.
</summary>
<returns>A string containing the request body.</returns>
</member>
<member name="M:Fiddler.Session.GetResponseBodyAsString">
<summary>
Return a string generated from the response body, decoding it and converting from a codepage if needed. Throws on errors.
</summary>
<returns>A string containing the response body.</returns>
</member>
<member name="M:Fiddler.Session.GetRequestBodyEncoding">
<summary>
Find the text encoding of the request
</summary>
<returns>Returns the Encoding of the requestBodyBytes</returns>
</member>
<member name="M:Fiddler.Session.GetResponseBodyEncoding">
<summary>
Find the text encoding of the response
</summary>
<returns>The Encoding of the responseBodyBytes</returns>
</member>
<member name="M:Fiddler.Session.uriContains(System.String)">
<summary>
Returns true if the absolute request URI contains the specified string. Case-insensitive.
</summary>
<param name="sLookfor">Case-insensitive string to find</param>
<returns>TRUE if the URI contains the string</returns>
</member>
<member name="M:Fiddler.Session.utilDecodeResponse">
<summary>
Removes chunking and HTTP Compression from the Response. Adds or updates Content-Length header.
</summary>
<returns>Returns TRUE if the response was decoded; returns FALSE on failure, or if response didn't have headers that showed encoding.</returns>
</member>
<member name="M:Fiddler.Session.utilDecodeRequest">
<summary>
Removes chunking and HTTP Compression from the Request. Adds or updates Content-Length header.
</summary>
<returns>Returns TRUE if the request was decoded; returns FALSE on failure, or if request didn't have headers that showed encoding.</returns>
</member>
<member name="M:Fiddler.Session.utilGZIPResponse">
<summary>
Use GZIP to compress the response body. Throws exceptions to caller.
</summary>
<returns>TRUE if compression succeeded</returns>
</member>
<member name="M:Fiddler.Session.utilDeflateResponse">
<summary>
Use DEFLATE to compress the response body. Throws exceptions to caller.
</summary>
<returns>TRUE if compression succeeded</returns>
</member>
<member name="M:Fiddler.Session.utilBZIP2Response">
<summary>
Use BZIP2 to compress the response body. Throws exceptions to caller.
</summary>
<returns>TRUE if compression succeeded</returns>
</member>
<member name="M:Fiddler.Session.utilChunkResponse(System.Int32)">
<summary>
Introduces HTTP Chunked encoding on the response body
</summary>
<param name="iSuggestedChunkCount">The number of chunks to try to create</param>
<returns>TRUE if the chunking could be performed.</returns>
</member>
<member name="M:Fiddler.Session.utilReplaceInRequest(System.String,System.String)">
<summary>
Perform a string replacement on the request body. Adjust the Content-Length header if needed.
TODO: Shouldn't assume UTF-8 blindly, use the function that checks headers for charset and body for BOM
</summary>
<param name="sSearchFor"></param>
<param name="sReplaceWith"></param>
<returns></returns>
</member>
<member name="M:Fiddler.Session.utilCreateResponseAndBypassServer">
<summary>
Call inside OnBeforeRequest to create a response object and bypass the server.
</summary>
</member>
<member name="M:Fiddler.Session.utilReplaceInResponse(System.String,System.String)">
<summary>
Perform a string replacement on the response body. Adjust the Content-Length header if needed.
</summary>
<param name="sSearchFor">String to find (case-sensitive)</param>
<param name="sReplaceWith">String to use to replace</param>
<returns>TRUE if replacements occurred</returns>
</member>
<member name="M:Fiddler.Session.utilSetRequestBody(System.String)">
<summary>
Replaces the request body with sString as UTF8. Sets Content-Length header and removes Transfer-Encoding/Content-Encoding
</summary>
<param name="sString">The desired request Body as a string</param>
</member>
<member name="M:Fiddler.Session.utilSetResponseBody(System.String)">
<summary>
Replaces the response body with sString. Sets Content-Length header and removes Transfer-Encoding/Content-Encoding
</summary>
<param name="sString">The desired response Body as a string</param>
</member>
<member name="M:Fiddler.Session.utilPrependToResponseBody(System.String)">
<summary>
Add a string to the top of the response body, updating Content-Length. (Call utilDecodeResponse first!)
</summary>
<param name="sString">The string to prepend</param>
</member>
<member name="M:Fiddler.Session.utilFindInRequest(System.String,System.Boolean)">
<summary>
Find a string in the request body. Return its index, or -1.
</summary>
<param name="sSearchFor">Term to search for</param>
<param name="bCaseSensitive">Require case-sensitive match?</param>
<returns>Location of sSearchFor,or -1</returns>
</member>
<member name="M:Fiddler.Session.utilFindInResponse(System.String,System.Boolean)">
<summary>
Find a string in the response body. Return its index, or -1.
</summary>
<param name="sSearchFor">Term to search for</param>
<param name="bCaseSensitive">Require case-sensitive match?</param>
<returns>Location of sSearchFor,or -1</returns>
</member>
<member name="M:Fiddler.Session.ResetSessionCounter">
<summary>
Reset the SessionID counter to 0. This method can lead to confusing UI, so use sparingly.
</summary>
</member>
<member name="M:Fiddler.Session.#ctor(System.Byte[],System.Byte[])">
<summary>
Create a session object from two byte[] representing request and response.
</summary>
<param name="arrRequest">The client data bytes</param>
<param name="arrResponse">The server data bytes</param>
</member>
<member name="M:Fiddler.Session.#ctor(System.Byte[],System.Byte[],Fiddler.SessionFlags)">
<summary>
Create a session object from two byte[] representing request and response. This is used when loading a Session Archive Zip.
</summary>
<param name="arrRequest">The client data bytes</param>
<param name="arrResponse">The server data bytes</param>
<param name="oSF">SessionFlags for this session</param>
</member>
<member name="M:Fiddler.Session.#ctor(Fiddler.ClientPipe,Fiddler.ServerPipe)">
<summary>
Creates a new session and attaches it to the pipes passed as arguments
</summary>
<param name="clientPipe">The client pipe from which the request is read and to which the response is written.</param>
<param name="serverPipe">The server pipe to which the request is sent and from which the response is read. May be null.</param>
</member>
<member name="M:Fiddler.Session.#ctor(Fiddler.HTTPRequestHeaders,System.Byte[])">
<summary>
Initialize a new session from a given request headers and bodyrequest builder data.
</summary>
<param name="oRequestHeaders">NB: If you're copying an existing request, use oRequestHeaders.Clone()</param>
<param name="arrRequestBody"></param>
</member>
<member name="M:Fiddler.Session.ShouldBeHidden">
<summary>
A session should be hidden if it has the ui-hide flag set, AND either the user is not
interested in HTTP errors, or this session didn't have any such errors.
</summary>
<returns></returns>
</member>
<member name="M:Fiddler.Session.Execute(System.Object)">
<summary>
Called when the session is ready to begin processing.
</summary>
<param name="objThreadState">Dummy parameter</param>
</member>
<member name="M:Fiddler.Session.isValidAutoRedir(System.String,System.String)">
<summary>
Fiddler cannot auto-follow a redirect to a protocol other than HTTP/HTTPS/FTP.
TODO: Should pass the combined URL into this function
</summary>
<param name="sBase">The BASE URL to which a relative redirection should be applied</param>
<param name="sTarget">Response "Location" header</param>
<returns>TRUE if the auto-redirect target is allowed</returns>
</member>
<member name="M:Fiddler.Session.InnerExecute">
<summary>
InnerExecute() implements Fiddler's HTTP Pipeline
</summary>
</member>
<member name="M:Fiddler.Session._AssignID">
<summary>
Assign a Session ID. Called by ClientChatter when headers are available
</summary>
</member>
<member name="M:Fiddler.Session._executeObtainRequest">
<summary>
Called only by InnerExecute, this method reads a request from the client and performs tampering/manipulation on it.
</summary>
<returns></returns>
</member>
<member name="M:Fiddler.Session._isResponseMultiStageAuthChallenge">
<summary>
Returns TRUE if response is a challenge
</summary>
<returns>True for HTTP/401,407 with NEGO or NTLM demand</returns>
</member>
<member name="M:Fiddler.Session._replaceVirtualHostnames">
<summary>
Replace the "ipv*.fiddler "fake" hostnames with the IP-literal equvalents.
</summary>
</member>
<member name="M:Fiddler.Session._isDirectRequestToFiddler">
<summary>
Determines if request host is pointing directly at Fiddler.
</summary>
<returns></returns>
</member>
<member name="M:Fiddler.Session._returnEchoServiceResponse">
<summary>
Echo the client's request back as a HTTP Response, encoding to prevent XSS.
</summary>
</member>
<member name="M:Fiddler.Session._returnPACFileResponse">
<summary>
Echo the client's request back as a HTTP Response, encoding to prevent XSS.
</summary>
</member>
<member name="M:Fiddler.Session._returnRootCert">
<summary>
Echo the client's request back as a HTTP Response, encoding to prevent XSS.
</summary>
</member>
<member name="M:Fiddler.Session._handleHTTPSConnect">
<summary>
Handle Execution of a HTTPS Connect tunnel
</summary>
<returns>TRUE if the tunnel was handled, FALSE if the caller should handle it.</returns>
</member>
<member name="M:Fiddler.Session._ReturnSelfGeneratedCONNECTTunnel(System.String)">
<summary>
This method indicates to the client that a secure tunnel was created,
without actually talking to an upstream server.
If Fiddler's AutoResponder is enabled, and that autoresponder denies passthrough,
then Fiddler itself will always indicate "200 Connection Established" and wait for
another request from the client. That subsequent request can then potentially be
handled by the AutoResponder engine.
</summary>
<param name="sHostname">The hostname to use in the Certificate returned to the client</param>
</member>
<member name="M:Fiddler.Session._isNTLMType2">
<summary>
This method adds a Proxy-Support: Session-Based-Authentication header and indicates whether the response is Nego:Type2.
</summary>
<returns>Returns TRUE if server returned a credible Type2 NTLM Message</returns>
</member>
<member name="M:Fiddler.Session._MayReuseMyClientPipe">
<summary>
This helper evaluates the conditions for client socket reuse.
</summary>
<returns></returns>
</member>
<member name="M:Fiddler.Session.ReturnResponse(System.Boolean)">
<summary>
Sends the Response Fiddler received from the server back to the client socket.
</summary>
<returns>True, if the response was successfully sent to the client</returns>
</member>
<member name="M:Fiddler.Session._createNextSession(System.Boolean)">
<summary>
Creates a new session, binding this session's pipes to that new session, as appropriate
</summary>
<param name="bForceClientServerPipeAffinity">TRUE if both the client and server pipes should be bound regardless of the serverPipe's ReusePolicy</param>
</member>
<member name="M:Fiddler.Session.FinishUISession(System.Boolean)">
<summary>
Refresh the UI elements for the session.
</summary>
<param name="bSynchronous">If you pass False, Fiddler could show out-of-date data.</param>
</member>
<member name="P:Fiddler.Session.BitFlags">
<summary>
Bitflags of commonly-queried session attributes
</summary>
</member>
<member name="P:Fiddler.Session.isHTTPS">
<summary>
When true, this session was conducted using the HTTPS protocol.
</summary>
</member>
<member name="P:Fiddler.Session.isFTP">
<summary>
When true, this session was conducted using the FTPS protocol.
</summary>
</member>
<member name="P:Fiddler.Session.LocalProcessID">
<summary>
Get the process ID of the application which made this request, or 0 if it cannot be determined.
</summary>
</member>
<member name="P:Fiddler.Session.SuggestedFilename">
<summary>
Gets a path-less filename suitable for the Response entity. Uses Content-Disposition if available.
</summary>
</member>
<member name="P:Fiddler.Session.bypassGateway">
<summary>
Set to true in OnBeforeRequest if this request should bypass the gateway
</summary>
</member>
<member name="P:Fiddler.Session.clientPort">
<summary>
Returns the port used by the client to communicate to Fiddler.
</summary>
</member>
<member name="P:Fiddler.Session.state">
<summary>
State of session. Note Side-Effects: If setting to .Aborted, calls FinishUISession. If setting to/from a Tamper state, calls RefreshMyInspectors
</summary>
</member>
<member name="P:Fiddler.Session.PathAndQuery">
<summary>
Returns the path and query part of the URL. (For a CONNECT request, returns the host:port to be connected.)")]
</summary>
</member>
<member name="P:Fiddler.Session.fullUrl">
<summary>
Retrieves the complete URI, including protocol/scheme, in the form http://www.host.com/filepath?query.
Or sets the complete URI, adjusting the UriScheme and/or Host.
</summary>
</member>
<member name="P:Fiddler.Session.url">
<summary>
Gets or sets the URL (without protocol) being requested from the server, in the form www.host.com/filepath?query.
</summary>
</member>
<member name="P:Fiddler.Session.host">
<summary>
DNS Name of the host server targeted by this request. NB: a port# may be included.
</summary>
</member>
<member name="P:Fiddler.Session.hostname">
<summary>
DNS Name of the host server (no port) targeted by this request. May include IPv6-literal brackets
</summary>
</member>
<member name="P:Fiddler.Session.port">
<summary>
Returns the server port to which this request is targeted.
</summary>
</member>
<member name="P:Fiddler.Session.id">
<summary>
Returns the sequential number of this request.
</summary>
</member>
<member name="P:Fiddler.Session.clientIP">
<summary>
Returns the Address used by the client to communicate to Fiddler.
</summary>
</member>
<member name="P:Fiddler.Session.responseCode">
<summary>
Gets or Sets the HTTP Status code of the server's response
</summary>
</member>
<member name="P:Fiddler.Session.bHasResponse">
<summary>
Returns TRUE if this session state>readingresponse and oResponse not null
</summary>
</member>
<member name="P:Fiddler.Session.Item(System.String,System.String)">
<summary>
Indexer property into SESSION flags, REQUEST headers, and RESPONSE headers. e.g. oSession["Request", "Host"] returns string value for the Request host header. If null, returns String.Empty
</summary>
<param name="sCollection">SESSION, REQUEST or RESPONSE</param>
<param name="sName">The name of the flag or header</param>
<returns>String value or String.Empty</returns>
</member>
<member name="P:Fiddler.Session.Item(System.String)">
<summary>
Simple indexer into the Session's oFlags object
</summary>
</member>
<member name="T:Fiddler.Utilities">
<summary>
Holds a variety of useful functions used in Fiddler and its addons.
</summary>
</member>
<member name="M:Fiddler.Utilities.ObtainSaveFilename(System.String,System.String)">
<summary>
Queries the user for a filename
</summary>
<param name="sDialogTitle">Dialog title</param>
<param name="sFilter">String representing file dialog filter</param>
<returns>Filename or null</returns>
</member>
<member name="M:Fiddler.Utilities.ObtainOpenFilename(System.String,System.String)">
<summary>
Queries the user for an OPEN filename
</summary>
<param name="sDialogTitle">Dialog title</param>
<param name="sFilter">String representing file dialog filter</param>
<returns>Filename or null</returns>
</member>
<member name="M:Fiddler.Utilities.FiddlerMeetsVersionRequirement(System.Reflection.Assembly,System.String)">
<summary>
Check to see that the target assembly defines a RequiredVersionAttribute and that the current Fiddler instance meets that requirement
</summary>
<param name="assemblyInput">The assembly to test</param>
<param name="sWhatType">The "type" of extension for display in error message</param>
<returns>TRUE if the assembly includes a requirement and Fiddler meets it.</returns>
</member>
<member name="M:Fiddler.Utilities.CompareVersions(System.String,System.Version)">
<summary>
Typically, a version number is displayed as "major number.minor number.build number.private part number".
</summary>
<param name="sRequiredVersion">Version required</param>
<param name="verTest">Version of the binary being tested</param>
<returns>Returns 0 if exact match, else greater than 0 if Required version greater than verTest</returns>
</member>
<member name="M:Fiddler.Utilities.CollapsePath(System.String)">
<summary>
Convert a full path into one that uses environment variables
</summary>
<param name="sPath">e.g. C:\windows\system32\foo.dll</param>
<returns>%WINDIR%\System32\foo.dll</returns>
</member>
<member name="M:Fiddler.Utilities.EnsureOverwritable(System.String)">
<summary>
Ensure that the target path exists and if a file exists there, it is not readonly or hidden
</summary>
<param name="sFilename">The candidate filename</param>
</member>
<member name="M:Fiddler.Utilities.WriteArrayToFile(System.String,System.Byte[])">
<summary>
Writes arrBytes to a file, overwriting if needed.
</summary>
<param name="sFilename">Path to File to write.</param>
<param name="arrBytes">Bytes to write.</param>
</member>
<member name="M:Fiddler.Utilities.ReadEntireStream(System.IO.Stream,System.Byte[])">
<summary>
Reads entire stream into an array. Unlike normal .Read, this function always returns the full set of bytes
</summary>
<param name="oStream"></param>
<param name="arrBytes"></param>
<returns></returns>
</member>
<member name="M:Fiddler.Utilities.GetCommaTokenValue(System.String,System.String)">
<summary>
Returns the Value from a token in the header string. Correctly handles double-quoted strings. Allows comma as delimiter
</summary>
<param name="sString">Name of the header</param>
<param name="sTokenName">Name of the token</param>
<returns>Value of the token if present; otherwise, null</returns>
</member>
<member name="M:Fiddler.Utilities.TrimAfter(System.String,System.String)">
<summary>
Returns the part of a string up to (but not including) the first instance of specified substring.
</summary>
<param name="sString">The string to trim from</param>
<param name="sDelim">The delimiting string at which the trim should end</param>
<returns></returns>
</member>
<member name="M:Fiddler.Utilities.TrimAfter(System.String,System.Char)">
<summary>
Returns the part of a string up to (but not including) the first instance of specified delimiter.
</summary>
<param name="sString">The string to trim from</param>
<param name="chDelim">The delimiting character at which the trim should end</param>
<returns></returns>
</member>
<member name="M:Fiddler.Utilities.TrimAfter(System.String,System.Int32)">
<summary>
Truncates sString to iMaxLen
</summary>
<param name="sString">The string</param>
<param name="iMaxLen">The maximum length of string</param>
<returns>A string truncated to iMaxLen</returns>
</member>
<member name="M:Fiddler.Utilities.TrimBefore(System.String,System.Char)">
<summary>
Returns the part of a string after (but NOT including) the first instance of specified delimiter. If delim not found, returns entire string.
</summary>
<param name="sString"></param>
<param name="chDelim"></param>
<returns></returns>
</member>
<member name="M:Fiddler.Utilities.TrimBefore(System.String,System.String)">
<summary>
Returns the part of a string after (but NOT including) the first instance of specified substring. If delim not found, returns entire string.
</summary>
<param name="sString"></param>
<param name="sDelim"></param>
<returns></returns>
</member>
<member name="M:Fiddler.Utilities.TrimUpTo(System.String,System.String)">
<summary>
Returns the part of a string after (and including) the first instance of specified substring. If delim not found, returns entire string.
</summary>
<param name="sString">The string to search</param>
<param name="sDelim">The delimiting string to find</param>
<returns>The part of the string starting with sDelim, or the entire string if sDelim not found.</returns>
</member>
<member name="M:Fiddler.Utilities.TrimBeforeLast(System.String,System.Char)">
<summary>
Returns the part of a string after (but not including) the last instance of specified delimiter. If delim not found, returns entire string.
</summary>
<param name="sString"></param>
<param name="chDelim"></param>
<returns></returns>
</member>
<member name="M:Fiddler.Utilities.TrimBeforeLast(System.String,System.String)">
<summary>
Returns the part of a string after (but not including) the last instance of specified substring. If delim not found, returns entire string.
</summary>
<param name="sString"></param>
<param name="sDelim"></param>
<returns></returns>
</member>
<member name="M:Fiddler.Utilities.HTTPMethodRequiresBody(System.String)">
<summary>
Determines true if a request with the specified HTTP Method/Verb MUST contain a entity body
</summary>
<param name="sMethod">The Method/Verb</param>
<returns>TRUE if the HTTP Method MUST contain a request body.</returns>
</member>
<member name="M:Fiddler.Utilities.HTTPMethodAllowsBody(System.String)">
<summary>
Determines true if a request with the specified HTTP Method/Verb may contain a entity body
</summary>
<param name="sMethod">The Method/Verb</param>
<returns>TRUE if the HTTP Method MAY contain a request body.</returns>
</member>
<member name="M:Fiddler.Utilities.IsBinaryMIME(System.String)">
<summary>
Determines if the specified MIME type is "binary" in nature.
</summary>
<param name="sContentType">The MIME type</param>
<returns>TRUE if the MIME type is likely binary in nature</returns>
</member>
<member name="M:Fiddler.Utilities.GetStringFromArrayRemovingBOM(System.Byte[],System.Text.Encoding)">
<summary>
Gets a string from a byte-array, stripping a Byte Order Marker preamble if present.
</summary>
<param name="arrInput">The byte array</param>
<param name="oDefaultEncoding">The encoding to convert from</param>
<returns>The string</returns>
</member>
<member name="M:Fiddler.Utilities.getEntityBodyEncoding(Fiddler.HTTPHeaders,System.Byte[])">
<summary>
Gets (via Headers or Sniff) the provided body's text Encoding. Returns CONFIG.oHeaderEncoding (usually UTF-8) if unknown. Potentially sl
</summary>
<param name="oHeaders"></param>
<param name="oBody"></param>
<returns></returns>
</member>
<member name="M:Fiddler.Utilities.getResponseBodyEncoding(Fiddler.Session)">
<summary>
Gets (via Headers or Sniff) the Response Text Encoding. Returns CONFIG.oHeaderEncoding (usually UTF-8) if unknown.
Perf: May be quite slow; cache the response
</summary>
<param name="oSession">The session</param>
<returns>The encoding of the response body</returns>
</member>
<member name="F:Fiddler.Utilities.sniffableEncodings">
<summary>
Set of encodings for which we'll attempt to sniff. List ordered from longest BOM to shortest
</summary>
</member>
<member name="M:Fiddler.Utilities.HtmlEncode(System.String)">
<summary>
HtmlEncode a string.
In Fiddler itself, this is a simple wrapper for the System.Web.HtmlEncode function.
The .NET4.0 Client Profile doesn't include System.Web, so we must provide our
own implementation of HtmlEncode for FiddlerCore's use.
</summary>
<param name="sInput">String to encode</param>
<returns>String encoded according to the rules of HTML Encoding, or null.</returns>
</member>