JSPM

angular-resilient

0.3.0
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 5
  • Score
    100M100P100Q33747F
  • License MIT

Make $http resilient and fault tolerant

Package Exports

  • angular-resilient

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (angular-resilient) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

angular-resilient Build Status Code Climate

Use $http as a resilient and failover HTTP client. This is a simple AngularJS service wrapper of the Resilient HTTP client that allows you to use all the $http features, such as interceptors, caching, config options, mocking... but turning it into a failover, client-side balanced and powerful HTTP client

For further information about Resilient and how it works, see the project page and the JavaScript library

It works with Angular >= 1.0

Installation

Via Bower

bower install angular-resilient

Via Component

component install h2non/angular-resilient

Or loading the script remotely

<script src="//cdn.rawgit.com/h2non/angular-resilient/0.3.0/angular-resilient.js"></script>

Environments

  • Chrome >= 5
  • Firefox >= 3
  • Safari >= 5
  • Opera >= 10
  • IE >= 9

Setup

Load the module as dependency of your application

var app = angular.module('app', ['ngResilient'])

Services

$resilient

Main service to creating new Resilient HTTP clients

app.factory('ResilientService', function ($resilient) {
  return $resilient({
    service: {
      basePath: '/api/1.0'
    },
    discovery: {
      servers: ['http://discover.api.me', 'http://discover.api.me']
    }
  })
})

Consuming the Resilient client

app.controller('ProfileCtrl', function (ResilientService) {
  ResilientService.get('/user').then(function (res) {
    // ...
  }, function (err) {
    // ...
  })
})

API

For full featured API, please see the library documentation

Options param should be a valid $http options compatible object

$resilient([ options ])

options params should be a valid Resilient options object

$resilient#get(path [, options])

Return: promise

$resilient#post(path [, options])

Return: promise

$resilient#put(path [, options])

Return: promise

$resilient#delete(path [, options])

Return: promise

$resilient#patch(path [, options])

Return: promise

$resilient#head(path [, options])

Return: promise

$resilient.use(middleware)

Register a middleware

$resilient.resilient

Type: Resilient

Expose the Resilient API

$resilient#defaults

Type: object

Default Resilient client options

Contributing

Wanna help? Cool! It will be appreciated :)

You must add new test cases for any new feature or refactor you do, always following the same design/code patterns that already exist

Development

Only node.js is required for development

Clone the repository

$ git clone https://github.com/h2non/angular-resilient.git && cd angular-resilient

Install dependencies

$ npm install
$ bower install

Generate browser bundle source

$ make browser

Run tests

$ make test

License

MIT © Tomas Aparicio