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
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');
auth2Code: Wordt gebruikt voor authenticatie en autorisatie in de meeste toepassingstypes, waaronder single-page applications, webtoepassingen en native geïnstalleerde toepassingen. De stroom stelt apps in staat veilig access_tokens te verkrijgen voor toegang tot beveiligde resources, evenals refresh_tokens om aanvullende access_tokens te verkrijgen, en ID-tokens voor de ingelogde gebruiker.
auth2ClientCredentials: Dit type grant wordt vaak gebruikt voor server-naar-server-interacties die op de achtergrond moeten worden uitgevoerd, zonder directe interactie met een gebruiker. Dit soort toepassingen wordt vaak daemons of serviceaccounts genoemd.
Lees meer over OAuth2.
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
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:
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.
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).
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