angular-resilient

0.3.0 • Public • Published

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

Dependencies (0)

    Dev Dependencies (7)

    Package Sidebar

    Install

    npm i angular-resilient

    Weekly Downloads

    4

    Version

    0.3.0

    License

    MIT

    Last publish

    Collaborators

    • h2non