eSeGeCe — Enterprise Communication Components for Delphi & .NET
FEATURED · sgcHTTP

HTTP/2 and gRPC, native in Delphi

Five client components cover three jobs. TsgcHTTP2Client speaks HTTP/2 with multiplexed streams over one TLS connection and HPACK header compression. TsgcGRPCClient is a gRPC client built on top of it, for unary and streaming Protocol Buffers calls. Three more classes reach Google Cloud over plain HTTPS: Pub/Sub, Calendar and Firebase Cloud Messaging. Standalone, the sgcWebSockets Core runtime is included.

  • 5 client classes
  • HTTP/2 · gRPC · Google Cloud
  • Multiplexed streams, HPACK, ALPN
  • Delphi 7 to 13 · C++ Builder

Two Palette Components, Three Google Cloud Clients

sgcHTTP is a standalone package. It bundles the sgcWebSockets Core runtime it is built on, and every license ships with full source code, so the wire-level implementations step through in your own debugger.

2 Palette components TsgcHTTP2Client and TsgcGRPCClient, on one palette page.
5 Client classes total HTTP/2, gRPC and three Google Cloud clients.
3 Google Cloud services Pub/Sub, Calendar and Firebase Cloud Messaging, plain HTTPS.
1 Standalone installer The sgcWebSockets Core runtime and the HTTP/TLS layer both ship inside the package.
100% Source code included Every license carries the full source of all five clients and the bundled runtime.
sgcHTTP

HTTP/2, gRPC and Google Cloud client components for Delphi and C++ Builder. A standalone package with the sgcWebSockets Core runtime bundled in, full source code, and royalty-free deployment.

Two Dependencies, Not Five

The five classes split cleanly by what they need underneath. HTTP/2 and gRPC need ALPN, which means sgcCustomIndy. Google Cloud needs nothing beyond HTTPS and a service account, which the bundled Core runtime already provides.

HTTP/2

Multiplexed Streams over One TLS Connection

TsgcHTTP2Client speaks HTTP/2 (RFC 9113): multiple requests share a single TCP connection as independent streams, so one slow response does not block the others behind it. Headers are compressed with HPACK, and the h2 protocol is negotiated during the TLS handshake through ALPN, the reason the component is built on sgcCustomIndy rather than the standard Indy library. Every verb is covered, Connect, Get, Post, Put, Patch, Delete and Options, each with a synchronous call and an Async twin.

View the HTTP/2 client →
gRPC

Unary and Streaming RPC, Riding on HTTP/2

TsgcGRPCClient is built on the HTTP/2 client, so it inherits the multiplexed connection and adds the gRPC wire format on top: length-prefixed Protocol Buffers messages over HTTP/2 streams. Call and CallAsync cover unary RPCs, ServerStreamingCall handles a stream of responses to one request, and OpenClientStream/OpenBidiStream cover client-streaming and bidirectional-streaming RPCs. RetryPolicy, Interceptors and ServiceConfig add retry behavior and cross-cutting logic without touching the call sites.

View the gRPC client →
Google Cloud

Pub/Sub, Calendar and Push, Plain HTTPS

Three more classes reach Google Cloud over plain HTTPS, authenticated with a Google service account, and none of them need sgcCustomIndy: TsgcHTTPGoogleCloud_PubSub_Client, TsgcHTTPGoogleCloud_Calendar_Client and TsgcHTTPGoogleCloud_FCM_Client.

See what it can do →
Escape hatch

Server Push and Chunked Bodies

Events surface the connection lifecycle: OnHTTP2Connect, OnHTTP2Response, OnHTTP2ResponseFragment for chunked bodies, OnHTTP2PushPromise for server push, OnHTTP2GoAway and OnHTTP2Disconnect. Nothing about the stream lifecycle is hidden from you.

The HTTP/2 surface →
Cross-platform

One Dependency for Two Clients, None for Three

The HTTP/2 client and the gRPC client build on sgcCustomIndy, which covers the same platform range as sgcWebSockets itself. The Google Cloud clients are plain HTTPS, so they run wherever the Core runtime does. From Delphi 7 through RAD Studio 13 and on C++ Builder.

The feature matrix →

Reference pages for each component:

HTTP/2 and gRPC, Side by Side

Both components are declared in the sgcHTTP unit, and TsgcGRPCClient carries its own HTTP/2 connection through its Client property. The same code compiles in Delphi 7 to 13 and C++ Builder.

uses
  sgcHTTP;
var
  HTTP2: TsgcHTTP2Client;
begin
  // HTTP/2: multiplexed requests over one TLS connection
  HTTP2 := TsgcHTTP2Client.Create(nil);
  HTTP2.Host := 'https://api.example.com';
  HTTP2.OnHTTP2Response := HTTP2Response;
  HTTP2.Active := True;

  HTTP2.GetAsync('/v1/status');
end;

procedure TForm1.HTTP2Response(Sender: TObject;
  const Connection: TsgcHTTP2ConnectionClient;
  const Request: TsgcHTTP2RequestProperty;
  const Response: TsgcHTTP2ResponseProperty);
begin
  Memo1.Lines.Add(Response.DataString);
end;
uses
  sgcHTTP;
var
  GRPC: TsgcGRPCClient;
begin
  // gRPC: built on the HTTP/2 client, unary and streaming RPC
  GRPC := TsgcGRPCClient.Create(nil);
  GRPC.Client.Host := 'https://grpc.example.com';
  GRPC.OnGRPCResponse := GRPCResponse;

  GRPC.CallAsync('example.OrderService', 'GetOrder', RequestBytes);
end;

procedure TForm1.GRPCResponse(Sender: TObject;
  const aResponse: TsgcGRPCResponse);
begin
  Memo1.Lines.Add(aResponse.DataString);
end;

The same shape in Object Pascal and in C++ Builder. The full feature matrix →

Two Things Worth Knowing First

What sgcHTTP needs from you, and what it does not. Both answers are short, and both are on this page rather than in the small print.

Dependencies per client
client                              needs sgcCustomIndy
TsgcHTTP2Client                     yes, for ALPN
TsgcGRPCClient                      yes, rides on TsgcHTTP2Client
TsgcHTTPGoogleCloud_PubSub_Client   no, plain HTTPS
TsgcHTTPGoogleCloud_Calendar_Client no, plain HTTPS
TsgcHTTPGoogleCloud_FCM_Client      no, plain HTTPS

HTTP/2 negotiates h2 with ALPN during the TLS handshake.
  The standard Indy library that ships with RAD Studio
  has no ALPN support, so both HTTP/2 and gRPC are built
  on sgcCustomIndy instead.

sgcHTTP is standalone

Standalone, the sgcWebSockets Core runtime is included: the HTTP/TLS client stack every component sends its requests through, and the JSON layer that decodes Google Cloud responses. One installer, full source code in the box.

HTTP/2 & gRPC need sgcCustomIndy

HTTP/2's ALPN negotiation is not supported by the standard Indy library, so TsgcHTTP2Client and, by extension, TsgcGRPCClient are built on sgcCustomIndy instead. It is added to your cart automatically when you order sgcHTTP; already own a license? Remove it at checkout.

Google Cloud needs only HTTPS

The three Google Cloud clients authenticate with a Google service account's project id, client email and private key, and call the REST APIs over the Core runtime's plain HTTPS stack. No native library, no sgcCustomIndy.

Delphi and C++ Builder

sgcHTTP targets Delphi 7 through RAD Studio 13 and C++ Builder. The same components also live inside sgcWebSockets Enterprise, so an existing Enterprise/All-Access license may already cover you. The free trial installer is the sgcWebSockets All-Access trial, so all five classes can be evaluated today.

ALPN HPACK Protocol Buffers Service account JWT Full source

Every component and property →

sgcHTTP implements the published HTTP/2, gRPC and Google Cloud REST surfaces rather than wrapping a vendor SDK, so streams, headers, RPCs and push notifications are all first-class methods and events, and full source code means nothing in between is a black box.

Twelve Libraries, One Toolbox

sgcHTTP is one of twelve eSeGeCe component libraries for Delphi, C++ Builder and .NET. They share conventions, they ship with full source, and they deploy royalty-free.

sgcHTTP

HTTP/2 client, gRPC client and Google Cloud Pub/Sub, Calendar and FCM clients for Delphi and C++ Builder. Standalone, with the sgcWebSockets Core runtime bundled in.

Learn more →

sgcAuth

OAuth2 client, JWT client and WebAuthn support for Delphi and C++ Builder. Standalone, with the sgcWebSockets Core runtime bundled in.

Learn more →

sgcWebSockets

WebSocket, HTTP/2, MQTT, AMQP, WebRTC, AI and 30+ API integrations for Delphi, C++ Builder, Lazarus and .NET. Its Enterprise edition includes gRPC too.

Learn more →

sgcMQ

MQTT, AMQP 0.9.1 and 1.0, Apache Kafka and STOMP client components for Delphi and C++ Builder. Standalone, with the sgcWebSockets Core runtime bundled in.

Learn more →

sgcSocial

Telegram and WhatsApp Business client components for Delphi and C++ Builder. Standalone, with the sgcWebSockets Core runtime bundled in.

Learn more →

sgcHTML

Server-side HTML and UI components on Bootstrap 5 and htmx for Delphi, C++ Builder and .NET.

Learn more →

sgcQUIC

Raw QUIC transport and an HTTP/3 client and server, with WebTransport. An add-on to sgcWebSockets Enterprise.

Learn more →

sgcAI

AI, LLM and MCP components for Delphi and C++ Builder. Seven LLM providers behind one component, plus MCP, embeddings and speech. Standalone, with the sgcWebSockets Core runtime bundled in.

Learn more →

sgcOpenAPI

OpenAPI 3.x parser, native Pascal SDK generator, OpenAPI server component, and 1,195+ pre-built cloud SDKs.

Learn more →

sgcSign

XAdES, PAdES, CAdES and ASiC for documents, Authenticode, ClickOnce, NuGet and VSIX for code.

Learn more →

sgcBiometrics

Windows Hello, fingerprint sensors and the Windows Biometric Framework for Delphi and C++ Builder.

Learn more →

sgcIndy

Updated Indy TCP/IP components with modern TLS, IPv6 and HTTP/2 for Delphi 7 through 13.

Learn more →

View pricing and licenses Download the free trial

What Developers Say

Trusted by Delphi, C++ Builder, Lazarus and .NET developers around the world.

Your sgcWebSockets library is very useful and easy to setup. Keep up the good work!

Simone Moretti Delphi Developer

sgcWebSockets is amazing and your support is the best!

Christian Meyer Founder & CTO

Thanks so much for your help and support, I love your components.

Mark Steinfeld CTO

Latest from the blog

View all posts →

You are seeing the HTTP/2 & gRPC view of eSeGeCe.

Show me another angle →
30-Day Money-Back GuaranteeNot satisfied? Request a full refund within 30 days of purchase. See refund policy

Modern HTTP, gRPC and Google Cloud from Native Code

Multiplexed HTTP/2, streaming gRPC and three Google Cloud clients, with the sgcWebSockets Core runtime bundled in and full source code in the box.