OpenAPI | Client

TsgcOpenAPI_Client is een niet-visueel component dat de belangrijkste methoden en eigenschappen inkapselt om HTTP-verzoeken te maken vanuit een OpenAPI-specificatie.

 

Every OpenAPI interface created with sgcOpenAPI Parser has 2 methods

 

  1. GetOpenAPIClient: het is een singletonsfunctie die een instantie van de hoofdklasse retourneert; als deze niet bestaat, wordt ze automatisch aangemaakt.
  2. FreeOpenAPIClient: geeft de hoofdklasse vrij als deze is aangemaakt.

 

Voorbeeld

Gebruik de Abstractapi om de localisatie van een IP-adres op te halen.


GetOpenAPIClient.Retrieve_the_location_of_an_IP_address('your api', '80.258.15.2');

 

 

Authenticatie

 

TLSOptions

Maakt het mogelijk om te configureren hoe verbinding te maken met beveiligde SSL/TLS-servers via het HTTP/1-protocol

 

ALPNProtocols: lijst van de ALPN-protocollen die naar de server worden verzonden.

RootCertFile: pad naar het basiscertificaatbestand.

CertFile: pad naar het certificaatbestand.

KeyFile: pad naar het certificaatsleutelbestand.

Password: als het certificaat met een wachtwoord is beveiligd, stelt u dit hier in.

VerifyCertificate: als het certificaat moet worden geverifieerd, schakel deze eigenschap in.

VerifyDepth: is een Integer-eigenschap die het maximale aantal koppelingen vertegenwoordigt dat is toegestaan bij verificatie van het X.509-certificaat.

Version: standaard gebruikt TLS 1.0; als de server een hogere TLS-versie vereist, kan hier worden geselecteerd.

IOHandler: selecteer welke bibliotheek u wilt gebruiken voor verbinding via TLS.

iohOpenSSL: gebruikt de OpenSSL-bibliotheek en is de standaard voor Indy-componenten. Vereist het deployen van de openssl-bibliotheken voor win32/win64.

iohSChannel: gebruikt Secure Channel, een beveiligingsprotocol dat door Microsoft voor Windows is geïmplementeerd; hiervoor hoeven geen OpenSSL-bibliotheken te worden geïmplementeerd. Werkt alleen in Windows 32/64 bits.

OpenSSL_Options: configuration of the openSSL libraries.

APIVersion: maakt het mogelijk te definiëren welke OpenSSL API wordt gebruikt.

oslAPI_1_0: gebruikt API 1.0 OpenSSL, de meest recente versie die door Indy wordt ondersteund

oslAPI_1_1: maakt gebruik van OpenSSL API 1.1; vereist onze aangepaste Indy-bibliotheek en biedt de mogelijkheid OpenSSL 1.1.1-bibliotheken te gebruiken (met TLS 1.3-ondersteuning).

oslAPI_3_0: gebruikt API 3.0 OpenSSL, vereist onze aangepaste Indy-bibliotheek en staat het gebruik van OpenSSL 3.0.0-bibliotheken toe (met TLS 1.3-ondersteuning).

LibPath: hier kunt u configureren waar de openSSL-bibliotheken zich bevinden

oslpNone: dit is de standaard; de openSSL-bibliotheken moeten zich in dezelfde map bevinden als het binaire bestand of in een bekend pad.

oslpDefaultFolder: stelt automatisch het openSSL-pad in waar de bibliotheken zich moeten bevinden voor alle IDE-platformpersoonlijkheden.

oslpCustomFolder: als deze optie is geselecteerd, definieer dan het volledige pad in de eigenschap LibPathCustom.

LibPathCustom: wanneer LibPath = oslpCustomFolder, definieer hier het volledige pad waar de openSSL-bibliotheken zich bevinden.

UnixSymLinks: het laden van symbolische koppelingen onder Unix-systemen in- of uitschakelen (standaard ingeschakeld, behalve onder OSX64):

oslsSymLinksDefault: standaard ingeschakeld, behalve onder OSX64 (na MacOS Monterey mislukt het laden van de bibliotheek zonder versie.).

oslsSymLinksLoadFirst: Laad SymLinks en doe dit voor het laden van de versiebibliotheken.

oslsSymLinksLoad: Laad SymLinks nadat geprobeerd is de versie-bibliotheken te laden.

oslsSymLinksDontLoad: laadt de SymLinks niet.

SChannel_Options: hiermee kunt u een certificaat uit de Windows-certificaatopslag gebruiken.

CertHash: is de hash van het certificaat. U kunt de certificaathash vinden door een dir-opdracht uit te voeren in PowerShell.

CipherList: hier kunt u instellen welke Ciphers worden gebruikt (gescheiden door ":"). Voorbeeld: CALG_AES_256:CALG_AES_128

CertStoreName: de opslagnaam waar het certificaat is opgeslagen. Selecteer een van de onderstaande opties:

scsnMY (de standaard)

scsnCA

scsnRoot

scsnTrust

CertStorePath: het opslagpad waar het certificaat is opgeslagen. Selecteer een van de onderstaande opties:

scspStoreCurrentUser (de standaard)

scspStoreLocalMachine

 

 

 

Proxyopties

Gebruik deze eigenschap om verbindingen via een proxy te configureren.

 

Enabled: stel in op true om proxyverbindingen in te schakelen.

Host: Proxyseveradres

Port: Proxy server port

UserName/Password: Authenticatie om verbinding te maken met de proxy, alleen indien vereist.

ProxyType: de volgende proxy's worden ondersteund:

Log

Als de eigenschap Log is ingeschakeld, worden socketberichten opgeslagen in een opgegeven logbestand, wat nuttig is voor foutopsporing.

 

Log: schakel in als u de HTTP-verzoeken wilt opslaan in een tekstbestand.

LogFileName: full path to the filename.

 

Eigenschappen

Overige eigenschappen die kunnen worden gebruikt om de OpenAPI-client aan te passen:

 

EncodeBodyAsUTF8: indien ingeschakeld, wordt de JSON-body gecodeerd als UTF8 (standaard false).

 

 

Gebeurtenissen

Hieronder vindt u de lijst met gebeurtenissen die u kunt verwerken bij gebruik van de OpenAPI Client.

 

 

OnBeforeRequest

 

Dit event wordt aangeroepen voordat het HTTP-verzoek wordt aangeroepen. Maakt het mogelijk de parameternamen, headers, beveiliging... aan te passen. Hieronder vindt u een voorbeeld van hoe u de naam van sommige parameters vervangt.

 


procedure OnBeforeRequestEvent(Sender: TObject; const aRequest: TsgcOpenAPIRequest);
var
  i: Integer;
  oParameter: TsgcOpenAPIParameter;
begin
  for i := 0 to aRequest.Parameters.Count - 1 do
  begin
    oParameter := aRequest.Parameters[i];
    if oParameter._Name = 'meta-modified-from' then
      oParameter._name := 'eventDateTime-from';
    if oParameter._Name = 'meta-modified-to' then
      oParameter._name := 'eventDateTime-to';
  end;
end;

OnUpload

 

Dit event wordt aangeroepen wanneer een bestand wordt geüpload; u kunt dit event gebruiken om de voortgang van de upload bij te houden.

 

OnDownload

 

Deze gebeurtenis wordt aangeroepen wanneer een bestand is gedownload; u kunt deze gebruiken om de voortgang van de download bij te houden.

 

OnSSLVerifyPeer

 

Als certificaatverificatie is ingeschakeld, kunt u in deze gebeurtenis het servercertificaat verifiëren en beslissen of u het wilt accepteren.

 

OnSSLGetHandler

 

Deze gebeurtenis wordt gegenereerd voordat de SSL-handler wordt aangemaakt; u kunt hier uw eigen SSL-handler aanmaken (die moet worden geërfd van TIdServerIOHandlerSSLBase of TIdIOHandlerSSLBase) en de benodigde eigenschappen instellen.

 

OnSSLAfterCreateHandler

 

Als er geen aangepast SSL-object is aangemaakt, wordt er standaard een aangemaakt met de OpenSSL-handler. U kunt de eigenschappen van de SSL-handler openen en aanpassen indien nodig