
Teilen Sie:
Alex Lakatos ist ein JavaScript-Entwickler Advocate für Nexmo. In seiner Freizeit engagiert er sich bei Mozilla als Tech Speaker und Reps Mentor. Als JavaScript-Entwickler, der auf dem offenen Web aufbaut, verschiebt er jeden Tag dessen Grenzen. Wenn er nicht gerade in London programmiert, reist er gerne um die Welt, so dass man ihn wahrscheinlich in einer Flughafen-Lounge antrifft.
Nexmo's Node.js Server SDK unterstützt nun Host Overriding
Lesedauer: 1 Minute
Wir haben kürzlich veröffentlicht v2.6.0 unseres Node.js SDK veröffentlicht und die Möglichkeit hinzugefügt, den für HTTP-Anfragen verwendeten Host zu ändern.
Warum?
Mit dieser Funktion können Sie die Standard-Hosts außer Kraft setzen, api.nexmo.com und rest.nexmo.comim SDK. Einer der häufigsten Anwendungsfälle für diese Funktion ist die Umgehung des Load Balancers und die Übermittlung von HTTP-Anfragen an eines unserer standortspezifischen Datenzentren, z. B. , api-sg-1.nexmo.com.
Werfen wir einen Blick auf unser "Einen ausgehenden Anruf mit einem NCCO tätigen" Code Snippet an und ändern es so, dass das Datenzentrum in Singapur verwendet wird, wenn der Anruf getätigt wird.
const Nexmo = require('nexmo')
const nexmo = new Nexmo({
apiKey: NEXMO_API_KEY,
apiSecret: NEXMO_API_SECRET,
applicationId: NEXMO_APPLICATION_ID,
privateKey: NEXMO_APPLICATION_PRIVATE_KEY_PATH
}, {
apiHost: 'api-sg-1.nexmo.com'
})
nexmo.calls.create({
to: [{
type: 'phone',
number: TO_NUMBER
}],
from: {
type: 'phone',
number: NEXMO_NUMBER
},
ncco: [{
"action": "talk",
"text": "This is a text to speech call from Nexmo"
}]
});Wenn man genau hinsieht, war die einzige Änderung, die wir an dem Codeschnipsel vorgenommen haben, das Hinzufügen eines Optionsobjekts in der Nexmo Instanz, mit einer apiHost Eigenschaft.
Ein weiterer häufiger Anwendungsfall für diese Funktion ist die Verwendung eines Proxys oder Gateways, um Ihre Anfragen zu prüfen, bevor sie an die Nexmo API weitergeleitet werden. Verwenden wir curlhub um unseren gesamten API-Verkehr zu prüfen.
curlhub interface
Nachdem Sie sich angemeldet haben, erhalten Sie von curlhub eine Bucket Id. Zum Beispiel, n43s3qc13thd. Das wird an jeden Host angehängt, den Sie proxy stellen wollen. Wenn wir also einen Proxy api.nexmo.comist der entsprechende curlhub-Host api-nexmo-com-n43s3qc13thd.curlhub.io. Die gleiche Logik gilt für rest.nexmo.com, und der entsprechende curlhub-Host ist rest-nexmo-com-n43s3qc13thd.curlhub.io.
Um diese als Proxys für die Anfragen unseres SDKs zu verwenden, müssen wir die apiHost und restHost Eigenschaften zu unserer new Nexmo Instanz hinzufügen.
const Nexmo = require('nexmo')
const nexmo = new Nexmo({
apiKey: NEXMO_API_KEY,
apiSecret: NEXMO_API_SECRET,
applicationId: NEXMO_APPLICATION_ID,
privateKey: NEXMO_APPLICATION_PRIVATE_KEY_PATH
}, {
apiHost: 'api-nexmo-com-n43s3qc13thd.curlhub.io',
restHost: 'rest-nexmo-com-n43s3qc13thd.curlhub.io'
}) Was kommt als Nächstes?
Wir arbeiten an der Verbesserung unseres Node.js-SDKs, und Sie können unsere Fortschritte verfolgen unter https://github.com/nexmo/nexmo-node. Wenn Sie Vorschläge oder Probleme haben, können Sie diese gerne auf GitHub oder in unserem Gemeinschaft Slack.
Teilen Sie:
Alex Lakatos ist ein JavaScript-Entwickler Advocate für Nexmo. In seiner Freizeit engagiert er sich bei Mozilla als Tech Speaker und Reps Mentor. Als JavaScript-Entwickler, der auf dem offenen Web aufbaut, verschiebt er jeden Tag dessen Grenzen. Wenn er nicht gerade in London programmiert, reist er gerne um die Welt, so dass man ihn wahrscheinlich in einer Flughafen-Lounge antrifft.