This library allows REST requests to be made from a client without the original context of the request becoming lost in the event the user moves away from the website, or if the page crashes.
This is done by persisting each request in storage before it is sent out. By default, the request then gets removed from storage after it is fulfilled by the server.
Using NPM: npm install --save persisted-requests
Using Yarn: yarn add persisted-requests
- Firefox
- Chrome
- Safari
See the browsers
section of karma.conf.js
for the list of browsers for which tests were ran on.
- LocalStorage
- In-Memory
Only Axios is supported for now, future support for other clients will be contingent on the usage of this library.
- Cookies
- The following Request Body types:
- XPath
- XML
- XML Schema
- JSON Schema
- regular expression
- plain text
Only end-to-end testing was done for now due to the relative small size of this project. See the tests
folder for them.
The tests can be run by calling npm run test
. Karma
was used with Jasmine
to run
them in the browser, with Jasmine-Ajax
used for capturing the requests sent using an XMLHTTPRequest()
spy.
Make sure to set "declaration": false
in tsconfig.json
before running tests.
This is a tech debt to clean up.
The demo app contains example usage for this library, and also demonstrates what it does under the hood.