$http con Karma y Angular
$http con Karma y Angular
¡INSCRÍBETE A CUALQUIER CURSO CON UN 50% DE DESCUENTO PARA NUEVOS CLIENTES!

Cuando tenemos aplicaciones construidas con angularjs que consumen recursos a servicios externos y tenemos la necesidad de enviar headers podemos preguntarnos cuál es la mejor forma de configurar esta funcionalidad.

Está claro que escribir los headers en cada petición no es la mejor forma, tenemos varias opciones aunque nosotros vamos a centrarnos más en una, la más sencilla es utilizar el $httpProvider en la configuración de nuestra aplicación de la siguiente forma.


Personalmente no me gusta ya que nuestro código queda demasiado expuesto, la alternativa que suelo utilizar es crear una factoría y hacer uso de $httpProvider.interceptors cómo podemos ver en el código siguiente.


Simplemente debemos crear una factoría que devuelva un objeto con una propiedad request en inyectarlo en $httpProvider.interceptors, de esta forma, todas nuestras peticiones ya sea utilizando $http como $resource enviaran los headers que nosotros hayamos configurado, dentro de nuestra factoría podemos aplicar toda la lógica que necesitemos, hacer opcional el envío del alguno de los headers etcétera.