ProductPromotion
Logo

Angular.JS

made by https://0x3d.site

GitHub - jscutlery/convoyr: Modular HTTP extensions for Angular.
Modular HTTP extensions for Angular. Contribute to jscutlery/convoyr development by creating an account on GitHub.
Visit Site

GitHub - jscutlery/convoyr: Modular HTTP extensions for Angular.

GitHub - jscutlery/convoyr: Modular HTTP extensions for Angular.

Motivation

Enriching HTTP clients with capabilities related to security, performance or resilience is a common need but it is also an error-prone and sometimes complex task.

Convoyr has been built with one goal in mind: helping you focus on your apps' features instead of the transport layer's boilerplate and matters... and without any trade-off.

  • ๐Ÿ…ฐ๏ธ Convoyr is Angular-ready and makes interceptors implementation safe and easy,
  • โšก๏ธ Convoyr is fully reactive and based on RxJS,
  • ๐Ÿ”‹ Convoyr has batteries included as it comes with some useful plugins,
  • ๐Ÿ“ˆ Convoyr is progressive because you can start using it without having to rewrite all your HTTP calls,
  • ๐Ÿงฑ Convoyr is easily extendable as you can create and share your own plugins.

Quick Start

  1. Install core packages inside your project.
yarn add @convoyr/core @convoyr/angular # or npm install @convoyr/core @convoyr/angular
  1. Install plugins packages.
yarn add @convoyr/plugin-cache @convoyr/plugin-retry # or npm install @convoyr/plugin-cache @convoyr/plugin-retry
  1. Import the module and define plugins you want to use.
import { ConvoyrModule } from '@convoyr/angular';
import { createCachePlugin } from '@convoyr/plugin-cache';
import { createRetryPlugin } from '@convoyr/plugin-retry';

@NgModule({
  imports: [
    ConvoyrModule.forRoot({
      plugins: [
        createCachePlugin(), // enable caching of all GET requests (Cf. @convoyr/plugin-cache)
        createRetryPlugin(), // automatically retry failed requests (Cf. @convoyr/plugin-retry)
      ],
    }),
  ]
})
export class AppModule {}
  1. Check out built-in plugins documentation and learn how to configure them.

How It Works

The main building block is the plugin. A plugin is a simple object that lets you intercept network communications and control or transform them easily. Like an HttpInterceptor a plugin may transform outgoing request and the response stream as well before passing it to the next plugin.

Convoyr comes with its built-in plugin collection to provide useful features to your apps and to tackle the need to rewrite redundant logic between projects.

Built-in Plugins

This project is a monorepo that includes the following packages.

Package Name Description
@convoyr/plugin-auth Auth plugin Handle authentication
@convoyr/plugin-cache Cache plugin Respond with cached results first then with fresh data when ready
@convoyr/plugin-retry Retry plugin Retry failed requests with exponential backoff

Custom Plugins

Follow the guide to create your own custom plugins.

Resources

Here is a list of useful resources related to Convoyr.

Roadmap

For incoming evolutions see our board.

Changelog

For new features or breaking changes see the changelog.

Contributing

See our contributing guide before starting. Contributions of any kind welcome!

Contributors

This project follows the all-contributors specification.

License

This project is MIT licensed.

More Resources
to explore the angular.

mail [email protected] to add your project or resources here ๐Ÿ”ฅ.

Related Articles
to learn about angular.

FAQ's
to learn more about Angular JS.

mail [email protected] to add more queries here ๐Ÿ”.

More Sites
to check out once you're finished browsing here.

0x3d
https://www.0x3d.site/
0x3d is designed for aggregating information.
NodeJS
https://nodejs.0x3d.site/
NodeJS Online Directory
Cross Platform
https://cross-platform.0x3d.site/
Cross Platform Online Directory
Open Source
https://open-source.0x3d.site/
Open Source Online Directory
Analytics
https://analytics.0x3d.site/
Analytics Online Directory
JavaScript
https://javascript.0x3d.site/
JavaScript Online Directory
GoLang
https://golang.0x3d.site/
GoLang Online Directory
Python
https://python.0x3d.site/
Python Online Directory
Swift
https://swift.0x3d.site/
Swift Online Directory
Rust
https://rust.0x3d.site/
Rust Online Directory
Scala
https://scala.0x3d.site/
Scala Online Directory
Ruby
https://ruby.0x3d.site/
Ruby Online Directory
Clojure
https://clojure.0x3d.site/
Clojure Online Directory
Elixir
https://elixir.0x3d.site/
Elixir Online Directory
Elm
https://elm.0x3d.site/
Elm Online Directory
Lua
https://lua.0x3d.site/
Lua Online Directory
C Programming
https://c-programming.0x3d.site/
C Programming Online Directory
C++ Programming
https://cpp-programming.0x3d.site/
C++ Programming Online Directory
R Programming
https://r-programming.0x3d.site/
R Programming Online Directory
Perl
https://perl.0x3d.site/
Perl Online Directory
Java
https://java.0x3d.site/
Java Online Directory
Kotlin
https://kotlin.0x3d.site/
Kotlin Online Directory
PHP
https://php.0x3d.site/
PHP Online Directory
React JS
https://react.0x3d.site/
React JS Online Directory
Angular
https://angular.0x3d.site/
Angular JS Online Directory