2.0.0 • Published 5 years ago
@galvao/jhrw v2.0.0
JHRW - JavaScript HTTP Request Wrapper
A wrapper for so-called "AJAX" Requests
Goals
I've made JHRW to:
- Advance my JavaScript skills;
- Improve/Simplify the usage of the XMLHttpRequest object by:
- Adding default values to what's undefined;
- Adding additional Error checking and clarification;
- Adding interesting, simplified, feature, such as timeouts and retries.
Documentation
Object JHRW(String base, String urlPath [, Boolean lazyExecution = false [, Boolean bypassCache = false]]);
Parameters
String base
- The request's base URLString urlPath
- The request's endpointBoolean lazyExecution
(optional) - If the request should be initialized and sent right after instantiation. Default: falseBoolean bypassCache
(optional) - If the request URL should have a timed parameter added in order to bypass cache. Default: false
Throws
- A
ReferenceError
- If there's no JHRWHandler function defined.
- A
Error
if the base parameter isundefined
if the urlPath parameter isundefined
- A
TypeError
if the base parameter is not aString
if the urlPath parameter is not aString
if the lazyExecution parameter is not aBoolean
if the bypassCache parameter is not aBoolean
Returns
An Object containing:
Properties
Object request
- The native XMLHttpRequest ObjectObject config
- The configuration ObjectString URI
- The request's targetBoolean asynchronous
- If the request should be asynchronousString verb
- The HTTP verbMixed data
- Data to be sent along with the requestObject requestHeaders
- HTTP headers for the requestString responseType
- Expected MIME type of the responseObject handlers
- The functions to handle the requestNumber attempts
- # of attempts to retry if the request failsNumber attemptInterval
- Interval between attempts, in seconds.Number timeout
- The timeout, in seconds, for the request - after which it should be retried.Function postTimeout
: The function to be executed if the request times out.Number timer
- The timer that controls the retry process.
Static Properties
Array JHRW.availableHandlers
: The types of handlers that can be re-defined.String JHRW.handlerList
: Convenience property to be shown in error messages.
Methods
configure
void configure(Object configureObject);
Overwrites one or more configuration options (see the config object above)
init
void init();
Initializes the request: Sets the expected response MIME Type; Sets the handlers as listeners; Opens the request; Sets the request's headers.
send
void send();
Sends the request, including data, if available.
end
void end();
Ends the request. Useful if you wish for JHRW to stop retrying on success.
Basic Usage
try {
var obj = new JHRW('http://localhost', /foo.php', true);
} catch (Error e) {
// Do something
}
or
try {
var req = new JHRW('http://localhost', 'foo.php');
try {
req.init();
} catch (ReferenceError e) {
// Do something
}
req.send();
} catch (Error e) {
// Do something
}
For a more advanced usage example see the testing page.
Credits
- Developed by @galvao.
- Logo font: Neutra Text Bold
2.0.0
5 years ago