TsgcHTTP3Client › Methoden
Öffentliche Methoden, gruppiert nach Zweck, gefolgt von der vollständigen alphabetischen Liste.
Der Client implementiert die zehn nachfolgenden HTTP-Methoden. Die Liste ist vollständig: Es ist die Aufzählung Th3Methods, die die Komponente in den Pseudo-Header :method jeder Anfrage kodiert.
| Verb | Synchron | Asynchron | Stream-Überladung | Standard aContentType | Typische Verwendung |
|---|---|---|---|---|---|
GET | Get | GetAsync | Get(aURL, aResponseContent) | — | Ruft eine Ressource ab. Kein Request-Body. |
POST | Post | PostAsync | Post(aURL, aSource, aResponseContent) | application/x-www-form-urlencoded | Daten übermitteln, typischerweise um einen Datensatz zu erstellen oder eine Aktion auszulösen. |
PUT | Put | PutAsync | Put(aURL, aSource, aResponseContent) | application/json | Ersetzt die Zielressource. Idempotent. |
DELETE | Delete | DeleteAsync | Delete(aURL, aResponseContent) | — | Entfernt die Zielressource. Kein Anfrage-Body. |
HEAD | Head | — | — | — | Liest nur Status und Header, keinen Body. Gibt TsgcHTTP3Response zurück. |
PATCH | Patch | PatchAsync | Patch(aURL, aSource, aResponseContent) | application/json | Wendet eine partielle Aktualisierung auf die Zielressource an. |
OPTIONS | RequestOptions | OptionsAsync | RequestOptions(aURL, aResponseContent) | — | Prüfen Sie die Methoden und Fähigkeiten, die eine Ressource unterstützt. |
TRACE | Trace | TraceAsync | Trace(aURL, aResponseContent) | — | Loop-back-Diagnose. Von Servern häufig deaktiviert. |
CONNECT | Connect | ConnectAsync | — | — | Fordert einen Tunnel an. Siehe ExtendedConnect für einen Tunnel, der geöffnet bleibt. |
QUERY | Query | QueryAsync | Query(aURL, aSource, aResponseContent) | application/x-www-form-urlencoded | Sichere, idempotente Anfrage, die einen Body mitführt. Eignet sich für Such- und Filter-Payloads. |
Jedes der obigen Verben ist über eine synchrone Methode erreichbar, die blockiert und den Antworttext als Zeichenfolge zurückgibt, sowie (außer HEAD) über eine asynchrone Methode, die sofort zurückkehrt und die Antwort über OnResponse liefert.
Zwei Benennungen sind erwähnenswert. OPTIONS wird von der Methode mit dem Namen RequestOptions gesendet, weil Options mit einem bestehenden Bezeichner in Delphi und C++Builder kollidiert; ihr asynchrones Gegenstück behält den Protokollnamen und heißt OptionsAsync. CONNECT wird von der Überladung Connect(aURL) gesendet, die eine andere Methode ist als die Überladung Connect(aHost, aPort), welche die QUIC-Verbindung öffnet. Beide befinden sich auf der Seite Connect.
HEAD ist die Ausnahme von diesem Muster: Es gibt ein TsgcHTTP3Response anstelle einer Zeichenfolge zurück und besitzt weder eine asynchrone Variante noch eine Stream-Überladung.
Jedes Verb außer HEAD und CONNECT verfügt außerdem über eine Stream-Überladung, die den Antworttext in einen TStream schreibt, anstatt eine Zeichenfolge aufzubauen, und bei Verben mit Body den Anfragetext aus einem Quell-Stream liest. Verwenden Sie sie für binäre oder große Payloads. Die Stream-Überladungen senden immer content-type: application/octet-stream und akzeptieren keinen aContentType-Parameter, verwenden Sie daher die String-Überladung, wenn der Medientyp wichtig ist.
Die Spalte mit dem Standardwert für aContentType führt den Wert auf, den die String-Überladung verwendet, wenn der Parameter weggelassen wird. Übergeben Sie ihn explizit, wenn der Server etwas anderes erwartet, zum Beispiel application/json bei einem Post.
| Name | Beschreibung |
|---|---|
| Connect | Öffnet die QUIC-Verbindung und führt den TLS-1.3- und HTTP/3-Handshake durch. Die URL-Überladung sendet das CONNECT-Verb. |
| Disconnect | Schließt die HTTP/3-Verbindung und den zugrunde liegenden QUIC-Transport. |
| Connected | Gibt True zurück, wenn die HTTP/3-Verbindung derzeit offen ist. |
| Name | Beschreibung |
|---|---|
| SetMaxPushId | Sendet einen MAX_PUSH_ID-Frame, der die höchste vom Client akzeptierte Push-ID anhebt. Server-Push ist deaktiviert, bis diese Methode aufgerufen wird. |
| CancelPush | Sendet einen CANCEL_PUSH-Frame, der einen zugesagten Push anhand seiner Push-ID ablehnt. |
| Name | Beschreibung |
|---|---|
| ExtendedConnect | Führt einen Extended-CONNECT-Handshake (RFC 9220) durch und hält den Anfrage-Stream als Tunnel offen. |
| TunnelSend | Sendet rohe Bytes als DATA-Frame auf einem offenen Tunnel. |
| TunnelPump | Treibt die QUIC-Ereignisschleife an, sodass Tunneldaten gelesen und über OnTunnelData zugestellt werden. |
| ServerSupportsWebTransport | Gibt True zurück, wenn die SETTINGS des Servers WebTransport-Unterstützung angekündigt haben. |
| WebTransportConnect | Stellt eine WebTransport-Sitzung über eine Extended-CONNECT-Anfrage her. |
| WebTransportProcessEvents | Pumpt die QUIC-Verbindung einmal, damit vom Peer geöffnete WebTransport-Streams erfasst werden. |
| Name | Beschreibung |
|---|---|
| QPACKDynamicInserts | Gibt zurück, wie viele QPACK-Einfügungen in die dynamische Tabelle der Anfrage-Encoder durchgeführt hat. |
| BlockedThenResumedCount | Gibt zurück, wie viele Antwort-Header-Abschnitte durch QPACK-Einfügungen blockiert und später fortgesetzt wurden. |
| Name | Beschreibung |
|---|---|
| BlockedThenResumedCount | Gibt zurück, wie viele Antwort-Header-Abschnitte durch QPACK-Einfügungen blockiert und später fortgesetzt wurden. |
| CancelPush | Sendet einen CANCEL_PUSH-Frame, der einen zugesagten Push anhand seiner Push-ID ablehnt. |
| Connect | Öffnet die QUIC-Verbindung oder sendet aus der URL-Überladung das HTTP/3-Verb CONNECT. |
| ConnectAsync | Sendet einen nicht-blockierenden CONNECT; die Antwort trifft über OnResponse ein. |
| Connected | Gibt True zurück, wenn die HTTP/3-Verbindung derzeit offen ist. |
| Delete | Sendet eine synchrone HTTP/3-DELETE-Anfrage, um die Zielressource zu entfernen. |
| DeleteAsync | Sendet ein nicht-blockierendes DELETE; die Antwort trifft über OnResponse ein. |
| Disconnect | Schließt die HTTP/3-Verbindung und den zugrunde liegenden QUIC-Transport. |
| ExtendedConnect | Führt einen Extended-CONNECT-Handshake (RFC 9220) durch und hält den Anfrage-Stream als Tunnel offen. |
| Get | Sendet eine synchrone HTTP/3-GET-Anfrage und gibt den Body als Zeichenfolge zurück oder schreibt ihn in einen Stream. |
| GetAsync | Sendet eine nicht-blockierende GET-Anfrage; die Antwort trifft über OnResponse ein. |
| Head | Sendet eine synchrone HTTP/3-HEAD-Anfrage und gibt das Antwortobjekt mit dem Status und den Headern zurück. |
| OptionsAsync | Sendet eine nicht-blockierende OPTIONS-Anfrage; die Antwort trifft über OnResponse ein. |
| Patch | Sendet eine synchrone HTTP/3-PATCH-Anfrage mit einer Payload zur teilweisen Aktualisierung. |
| PatchAsync | Sendet einen nicht-blockierenden PATCH; die Antwort trifft über OnResponse ein. |
| Post | Sendet eine synchrone HTTP/3-POST-Anfrage mit einem Anfrage-Body. |
| PostAsync | Sendet einen nicht-blockierenden POST; die Antwort trifft über OnResponse ein. |
| Put | Sendet eine synchrone HTTP/3-PUT-Anfrage mit einem Anfrage-Body. |
| PutAsync | Sendet ein nicht-blockierendes PUT; die Antwort trifft über OnResponse ein. |
| QPACKDynamicInserts | Gibt zurück, wie viele QPACK-Einfügungen in die dynamische Tabelle der Anfrage-Encoder durchgeführt hat. |
| Query | Sendet eine synchrone HTTP/3-QUERY-Anfrage, ein sicheres und idempotentes Verb, das einen Body überträgt. |
| QueryAsync | Sendet ein nicht-blockierendes QUERY; die Antwort trifft über OnResponse ein. |
| RequestOptions | Sendet eine synchrone HTTP/3-OPTIONS-Anfrage, um die Optionen einer Ressource zu inspizieren. |
| ServerSupportsWebTransport | Gibt True zurück, wenn die SETTINGS des Servers WebTransport-Unterstützung angekündigt haben. |
| SetMaxPushId | Sendet einen MAX_PUSH_ID-Frame, der die höchste Push-ID anhebt, die der Client akzeptiert. |
| Trace | Sendet eine synchrone HTTP/3-TRACE-Anfrage, die als Loop-Back-Test dient. |
| TraceAsync | Sendet einen nicht-blockierenden TRACE; die Antwort trifft über OnResponse ein. |
| TunnelPump | Treibt die QUIC-Ereignisschleife an, sodass Tunneldaten gelesen und über OnTunnelData zugestellt werden. |
| TunnelSend | Sendet rohe Bytes als DATA-Frame über einen offenen Extended-CONNECT-Tunnel. |
| WebTransportConnect | Stellt eine WebTransport-Sitzung über eine Extended-CONNECT-Anfrage her. |
| WebTransportProcessEvents | Pumpt die QUIC-Verbindung einmal, damit vom Peer geöffnete WebTransport-Streams erfasst werden. |