![]() |
Basiert TRESTClient WIRKLICH auf Indy?
Hallo!
Ich bin seit einiger Zeit über eine ![]() Zitat:
![]()
Delphi-Quellcode:
. Das wäre dann ja nicht plattformunabhängig, doch compilerabhängige Uses sehe ich auch nirgends. Vielleicht könnte mich ja mal jemand erleuchten.
TIdSSLIOHandlerSocketOpenSSL
Grüße Cody |
AW: Basiert TRESTClient WIRKLICH auf Indy?
Nicht mehr.
Die REST-Komponenten in XE5 bis XE7 basierten auf den INDY-Komponenten, beinhalteten damals aber schon eine Abstraktionsschicht dazwischen, um die Komponenten tauschen zu können. Mittlerweile hängen die Net-Komponenten dazwischen, die dann auf den jeweiligen Plattformen nativ arbeiten. |
AW: Basiert TRESTClient WIRKLICH auf Indy?
Emba überlässt es Dir wie Du eine verschlüßelte Verbindung aufbaust.
Da Indy integeriert ist, bietet es sich dafür an. Hier ein mini Beispiel (ohne Indy & ohne SSL) ![]() |
AW: Basiert TRESTClient WIRKLICH auf Indy?
Nein, deine Antwort ist inhaltlich falsch.
Die REST-Komponenten basierten entweder auf den INDY-Komponenten (früher) oder auf den nativen Komponenten (jetzt). Entweder - oder. Eine Wahl hatte der Entwickler im Zusammenhang mit diesen Komponenten nie. |
AW: Basiert TRESTClient WIRKLICH auf Indy?
Also ist die Erklärung, dass das schlicht eine noch nicht korrigierte Altlast in der Emba-Doku in der deutschsprachigen Version ist. Jetzt wo ich drauf gestoßen wurde habe ich im englischen Bereich geschaut und siehe da, dort steht was anderes:
Zitat:
|
AW: Basiert TRESTClient WIRKLICH auf Indy?
Eine weitere Frage in dem Zusammenhang: Ich bin eigentlich ein Freund von den Indy-Komponenten, vor allem auch wegen der Flexibilität. Ist es zum jetzigen Zeitpunkt noch eine gute Idee, anstelle von TRestClient/TRESTRequest auf Indy und TJSONObject zu setzen?
|
AW: Basiert TRESTClient WIRKLICH auf Indy?
Ehrlich gesagt sind wir bei uns von Indy jetzt komplett auf die nativen Komponenten umgestiegen.
Weniger Abhängigkeiten und ich persönlich finde sie besser und um einiges einfacher als die Indies. Und für SSL braucht man dann auch nicht mehr die SSL-DLLs. Man übergibt eine url mit https statt http und es klappt. Kein IOHandler, keine SSL-DLLs, etc. |
AW: Basiert TRESTClient WIRKLICH auf Indy?
Zitat:
Vielleicht ist Indy mit mehr Einarbeitung verbunden, aber Debuggen geht IMHO einfacher. Wobei ich ergänzend sagen muss, dass ich schon ein funktionierendes REST-Framework mit Indy habe. Es ist also keine Frage des Implementierungsaufwandes sondern mehr eine Grundsatzfrage. |
AW: Basiert TRESTClient WIRKLICH auf Indy?
Ein aus dem Support gefallenes Windows sollte man aus reinem Selbsterhaltungstrieb nicht supporten.
Sherlock |
AW: Basiert TRESTClient WIRKLICH auf Indy?
Zitat:
|
AW: Basiert TRESTClient WIRKLICH auf Indy?
Klar es ist eine Kosten/Nutzungsrechnung. Wenn die positiv ausgeht, ist alles in Butter. Aber je älter ein Windows ist, desto mehr tendiert besagtes Ergebnis ins negative.
Sherlock |
AW: Basiert TRESTClient WIRKLICH auf Indy?
Zitat:
![]() |
AW: Basiert TRESTClient WIRKLICH auf Indy?
Zitat:
Danke für den Hinweis. Sherlock |
AW: Basiert TRESTClient WIRKLICH auf Indy?
Wobei der Windows-Support hier nicht das Thema ist sondern die Frage ob Indy strategisch eine gute Wahl ist oder eben nicht. Ich halte es jedenfalls für sinnvoll weil OS-unabhängig.
Dass gerade die Emba-Implementierung auf dem derzeit noch aktuellen Windows 7 per Default weder TLS 1.1 noch 1.2 unterstützt, auf Win 10 dagegen schon, obwohl beide auch auf Win 7 verfügbar wären und nur aktiviert werden bräuchten, das sagt mir dass die Implementierung Schwächen hat. Dass der Server aber nur noch zwei RSA-Stromchiffren akzeptieren wollte war dann doch etwas "übersichert" ;-) |
AW: Basiert TRESTClient WIRKLICH auf Indy?
Ich persönlich mache um den REST-Client einen großen Bogen und erstelle mir einen Client für eine REST-API
![]() Den internen Http-Client kann man auch noch abstrahieren und per Injection hineingeben. Dann wird es komplett testbar und ist offen für jede Http-Library die morgen dann der Hype ist. |
AW: Basiert TRESTClient WIRKLICH auf Indy?
Zitat:
Ich habe es jedoch auch mit Bestandscode zu tun, der über eine lange Zeit gewachsen ist und entsprechend bunt ist das Angebot an verwendeten Schnittstellenkomponenten. Und in dem Fall hat mich und die Kollegen diese TRESTClient-Komponente viel Zeit gekostet, weil sie keine Exceptions auf HTTP-Protokollebene wirft und der Server in dem beschriebenen Szenario mehr oder weniger kommentarlos die Verbindung verworfen hat (bei Indy das bekannte Connection closed gracefully). Und wieso Emba hier bei Windows < 10 nur die älteren Transportverschlüsselungen aktiviert obwohl die neueren verfügbar sind, das muss mir auch noch jemand erklären. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:58 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz