Closed debagel closed 1 year ago
Ich hätte da durchaus noch Fragen :-)
Wofür ist das gut? Geolocation ist doch schon der Proxy?
Und warum nicht mit einem ExtensionPoint gelöst? Denn das ist der Redaxo-übliche Weg.
@christophboecker @debagel mein Fehler. Bitte PR neu einreichen. Ich habe zu voreilig gemergt und daher reverted. @christophboecker die Option ist ggf. interessant, möchte man die requests über einen eigenen Proxy leiten oder diesen umgehen.
@christophboecker Genau, wie @skerbis oben schreibt habe ich hier einen Server der Verbindungen ins Internet nur über einen Proxy zulässt, z.B. auch für den Addon Installer.
Der in den Settings gesetzte "socket_proxy" muss bei mir auch in Geolocation verwendet werden um die Maptiles vom Kartenserver holen zu können. Deshalb hatte ich das bei den curl-Aufrufen ergänzt. Hast du einen Hinweis wie ich das per ExtensionPoint löse? Davon habe ich bisher keine Ahnung.
den Weg über die Property oder Config finde ich persönlich besser da ein EP sicher mehr Rechenzeit benötigt.Wobei man hier noch überlegen könnte von Curl auf rex_socket zu wechseln.
@debagel
Hast du einen Hinweis wie ich das per ExtensionPoint löse?
z.B. so ähnlich:
$ch = curl_init($url);
....
$ch = \rex_extension::registerPoint(new \rex_extension_point(
'GEOLOCATION_PROXY',
$ch,
[]
));
....
Und dann belegen mit
$proxy = ...;
\rex_extension::register(
'GEOLOCATION_PROXY',
static function( \rex_extension_point $ep ){
$ch = $ep->getSubject;
curl_setopt($ch, CURLOPT_PROXY, $ep->getParam('proxy');
},
rex_extension::NORMAL,
['proxy' => $proxy]
ungetestet.
... da ein EP sicher mehr Rechenzeit benötigt
Angesichts des Gesamt-Overhead, den das Laden der Redaxo-Instanz verursacht, würde ich die wenigen Zeilen Code (die Klassen sind ja eh geladen und initialisiert) als irrelevant vermuten.
noch überlegen könnte von Curl auf rex_socket zu wechseln
na ja, die Curl-Sachen stammen ja ursprünglich aus Deinem geo_osm-Addon. Ich kenne mich damit nicht wirklich aus.
Es ist "Dein" Addon, Thomas. Du entscheidest.
@christophboecker ok .. dann schaue ich mal
Use socket_proxy setting for curl request to enable using a proxy for fetching map tiles