• Product Bundles

    DevCraft

    All Telerik .NET tools and Kendo UI JavaScript components in one package. Now enhanced with:

    • NEW: Design Kits for Figma
    • Online Training
    • Document Processing Library
    • Embedded Reporting for web and desktop
    Web
    Kendo UI UI for jQuery UI for Angular UI for React UI for Vue UI for ASP.NET AJAX UI for ASP.NET MVC UI for ASP.NET Core UI for Blazor UI for Silverlight UI for PHP UI for JSP
    Mobile
    UI for .NET MAUI UI for Xamarin
    Document Management
    Telerik Document Processing
    Desktop
    UI for .NET MAUI UI for WinUI UI for WinForms UI for WPF UI for UWP
    Reporting & Mocking
    Telerik Reporting Telerik Report Server Telerik JustMock
    Automated Testing
    Test Studio Test Studio Dev Edition
    CMS
    Sitefinity
    UI/UX Design
    Unite UX
    Debugging
    Fiddler Fiddler Everywhere Fiddler Classic Fiddler Jam FiddlerCap FiddlerCore
    Extended Reality
    UI for Unity XR
    Free Tools
    JustAssembly JustDecompile VB.NET to C# Converter Testing Framework
    View all products
  • Overview
    • jQuery
    • Angular
    • React
    • Vue
  • Demos
    • What's New
    • Roadmap
    • Release History
  • Docs & Support
  • Pricing
  • Search
  • Shopping cart
    • Account Overview
    • Your Licenses
    • Support Center
    • Forum Profile
    • Payment Methods
    • Edit Profile
    • Log out
  • Login
  • Contact Us
  • Try now

Class ChatterBase

Base class used for ClientChatter and ServerChatter. Combines some fields/properties/methods of the two to reduce code duplication.

Inheritance
System.Object
ChatterBase
ServerChatter
Namespace: Fiddler
Assembly: FiddlerCore.dll

Syntax

public class ChatterBase : Object

Properties

data

The data stream for the request/response.

Declaration
protected virtual MemoryStream data { get; }
Property Value
System.IO.MemoryStream

isRequest

True if this is a request (client) connection, False if it is a response (server) connection

Declaration
protected virtual bool isRequest { get; }
Property Value
System.Boolean

Methods

AreHeadersAvailable(Session)

Check the data stream and find if headers are fully transmitted to us. For HTTP/1.1 Scans stream for the \r\n\r\n (or variants) sequence, which indicates that the header block is complete. For HTTP/2 the check is done elsewhere and this code is not executed. SIDE EFFECTS: iBodySeekProgress is updated and maintained across calls to this function iEntityBodyOffset is updated if the end of headers is found

Declaration
public bool AreHeadersAvailable(Session oS)
Parameters
Session oS

Returns
System.Boolean

True if the full set of headers are available

StreamHTTP2BodyPart(Session, Int64, out Byte[], out Boolean)

Stream whatever data frames are present in the buffer at the specified offset

Declaration
public long StreamHTTP2BodyPart(Session oS, long offset, out byte[] arrResult, out bool isFinal)
Parameters
Session oS

The parent session of this connection

System.Int64 offset

Offset in the received data to start leaking the body from

System.Byte[] arrResult

Output array buffer that will hold the parsed data

System.Boolean isFinal

True if the last parsed frame has an 'EndOfStream' flag set

Returns
System.Int64

The parser's final position (offset) in the data stream. This can be less than the data strem length if extra frames or incomplete frames are present.

TakeHTTP2EntityAsync(Session)

Get the request/response body from a stream

Declaration
public Task<byte[]> TakeHTTP2EntityAsync(Session oS)
Parameters
Session oS

Returns
System.Threading.Tasks.Task<System.Byte[]>

A byte array containing the request/response data

Getting Started
  • Try Now
Community
  • Forums
  • Blogs
  • Feedback Portal

Copyright © 2019 Progress Software Corporation and/or its subsidiaries or affiliates.
All Rights Reserved.

Progress, Telerik, and certain product names used herein are trademarks or registered trademarks of Progress Software Corporation and/or one of its subsidiaries or affiliates in the U.S. and/or other countries. See Trademarks for appropriate markings.