
Compartir:
Alex Lakatos es JavaScript Developer Advocate para Nexmo. En su tiempo libre es voluntario en Mozilla como Tech Speaker y Reps Mentor. Desarrollador de JavaScript en la web abierta, ha estado empujando sus límites todos los días. Cuando no está programando en Londres, le gusta viajar por el mundo, así que es probable que te lo encuentres en la sala de espera de un aeropuerto.
El SDK del Servidor Node.js de Nexmo añade soporte para Host Overriding
Tiempo de lectura: 1 minuto
Recientemente hemos lanzado v2.6.0 de nuestro SDK Node.js y hemos añadido la posibilidad de cambiar el host utilizado para realizar las peticiones HTTP.
¿Por qué?
Esta función le permite anular los hosts predeterminados api.nexmo.com y rest.nexmo.comen el SDK. Uno de los casos de uso más comunes para esta función es eludir el equilibrador de carga, y hacer las peticiones HTTP hacia uno de nuestros Centros de Datos específicos de ubicación, por ejemplo, api-sg-1.nexmo.com.
Echemos un vistazo a nuestro "Hacer una llamada saliente con un NCCO" y cambiémoslo para que utilice el centro de datos de Singapur al realizar la llamada.
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"
}]
});Si nos fijamos bien, el único cambio que hemos hecho en el fragmento de código ha sido añadir un objeto options en la instancia Nexmo con una propiedad apiHost propiedad.
Otro caso de uso común para esta función es el uso de un proxy o puerta de enlace para inspeccionar sus solicitudes antes de que pasen a la API Nexmo. Usemos curlhub para inspeccionar todo nuestro tráfico API.
curlhub interface
Después de registrarse, curlhub le da un Bucket Id. Por ejemplo, n43s3qc13thd. Que se adjunta a cualquier host que desee proxy. Así que si queremos proxy api.nexmo.comel host curlhub correspondiente es api-nexmo-com-n43s3qc13thd.curlhub.io. La misma lógica se aplica para rest.nexmo.comy el host curlhub correspondiente es rest-nexmo-com-n43s3qc13thd.curlhub.io.
Para poder utilizarlos como proxies para las peticiones que realice nuestro SDK, tendremos que añadir las etiquetas apiHost y restHost a nuestra instancia new Nexmo instancia.
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'
}) El futuro
Estamos trabajando en la mejora de nuestro SDK de Node.js, y puede seguir nuestro progreso en https://github.com/nexmo/nexmo-node. Si tienes alguna sugerencia o problema, no dudes en plantearlo en GitHub o en nuestra comunidad slack.
Compartir:
Alex Lakatos es JavaScript Developer Advocate para Nexmo. En su tiempo libre es voluntario en Mozilla como Tech Speaker y Reps Mentor. Desarrollador de JavaScript en la web abierta, ha estado empujando sus límites todos los días. Cuando no está programando en Londres, le gusta viajar por el mundo, así que es probable que te lo encuentres en la sala de espera de un aeropuerto.