lil'-http

Tiny, lightweight, full featured HTTP client for the browser.
| Name | http |
| Version | 0.1.17 |
| Size | 3 KB / 1 KB (gzipped) |
| Environment | Browser |
- Simple fully configurable API
- Support any HTTP verb
- Built-in error handling
- Binary response handling support
- Content-Type autodiscovery
- Support auth credentials
- Request progress status report
- Support passing custom headers
- Transparent support for CORS (in IE)
- Simple request state handling based on callback
- Transparent payload JSON serializer
Via Bower
bower install lil-httpVia Component
component install lil-js/httpOr loading the script remotely
<script src="//cdn.rawgit.com/lil-js/http/0.1.17/http.js"></script>- Chrome >= 5
- Firefox >= 3
- Safari >= 5
- Opera >= 10
- IE >= 9
You could fetch de module via require() if it's available.
Otherwise, global fallback will be used, exposed via lil.http
lil.http.get('/sample.json', {
auth: { user: 'Tom', password: 'p@s$w0rD' }
headers: { 'X-Version': '0.1.0' }
}, function (err, res)) {
if (err) throw new Error('Cannot perform the request: ' + err.status)
if (res.status === 200) {
console.log(res.data)
}
})lil.http.post('/register', {
data: { user: 'Tom' },
headers: { 'API-Key': '8c1c4180-36b5-11e4-8510-0800200c9a66' }
}, function (err, res)) {
if (err) throw new Error('Cannot register: ' + err.status)
if (res.status === 200) {
console.log('Registered!')
}
})- url
string- Server request URL - data
mixed- Payload data to send as body request. See MDN for more information - params
object- Map of key-value query string params - headers
object- Map of strings representing HTTP headers to send to the server - timeout
number- Request maximum timeout in milliseconds. Default to 30 seconds - auth
object- Authentication credentials to the server. Object must have theuserandpasswordproperties withstringvalues - withCredentials
boolean- Whether to set the withCredentials flag on the XHR object. See MDN for more information - method
string- Request HTTP method. Default toGET - responseType
string- Define how to handle the response data. Allowed values are:text,arraybuffer,blobordocument
- data
mixed- Body response. If the MIME type isJSON-compatible, it will be transparently parsed - status
number- HTTP response status code - headers
object- Response headers - xhr
object- Original XHR instance - error
mixed- Error info, usually anErrorinstance (in case that an error happens)
Type: object
Default client config object
Type: string Value: text/plain
Default Content-Type request header value
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
Only node.js is required for development
Clone the repository
$ git clone https://github.com/lil-js/http.git && cd httpInstall dependencies
$ npm installGenerate browser bundle source
$ make browserRun tests
$ make testMIT © Tomas Aparicio


