2017-09-12 2 views
1

Wir möchten ein eingebettetes Bild in ein Github-Problem einfügen, z.Abrufen der Referrer-URL aus einem Github-Problem

https://github.com/org/repo/issues/101

![a cool badge](http://ourserver.io/badge/)

sample badge

On/Abzeichen Endpunkt, unser Server will eine SVG-Datei spezifisch für diese Ausgabe mit speziellen Informationen machen, um es angebracht (angenommen/abgelehnt/abgestanden/etc), aber das Anforderungsobjekt scheint nicht die Referrer-URL zu enthalten, in diesem Fall https://github.com/org/repo/issues/101 (unter Verwendung von node/express). Daher können wir auf der Serverseite kein Badge von einem anderen unterscheiden, ohne zusätzliche Informationen zur Abfragezeichenfolge hinzuzufügen.

Gibt es eine Möglichkeit für uns, die verweisende URL abzufangen, bevor das Logo erstellt wird?

PS: Ich bin bewusst, this Einschränkung, aber, da wir nicht in User-Browser-spezifische Daten interessiert sind, nur die URL des Problems, das Abzeichen gerendert werden muss, dachte ich würde einfach fragen.

PPS: Unsere aktuelle Lösung besteht darin, auf unserer Zielseite Embedded-Code pro Problem zu generieren. Wir möchten diesen Schritt eliminieren und verfügen über einen universellen Embed-Code, der für jedes Problem gültig ist.

Antwort

2

Alle GitHub-Images werden aus Sicherheitsgründen von https://github.com/atmos/camo umgangen (normalerweise, um Warnungen zu gemischten Inhalten zu vermeiden, wenn Benutzer HTTP-URLs in HTTPS-only GitHub einfügen).

GitHub stellt absichtlich sicher, dass der Bildort (z. B. die URL des GitHub-Problems) nicht auf den Ursprungsserver des Bildes (z. B. ourserver.io) gelangt. Siehe die folgende Diskussion zu diesem Thema: https://github.com/atmos/camo/issues/43.

Die Lösung ist, die Informationen in die URL des Bildes zu setzen: http://ourserver.io/badge/github/org/repo/issues/101.

+0

danke für die Antwort. obwohl, ich sehe nicht warum sollte Referrer URL nicht mit den Headern gesendet werden oder als ein Leck. Das könnte viele Möglichkeiten für die Entwicklung von Drittanbietern eröffnen, und ich sehe keinen Nachteil darin. vielleicht bin ich falsch. Im Moment implementieren wir es so, wie Sie vorgeschlagen wurden und halten es so. – Devrim

Verwandte Themen