https://github.com/pirxpilot/getlet
HTTP(s) get request with redirect, compress and streaming
https://github.com/pirxpilot/getlet
Last synced: about 1 year ago
JSON representation
HTTP(s) get request with redirect, compress and streaming
- Host: GitHub
- URL: https://github.com/pirxpilot/getlet
- Owner: pirxpilot
- Created: 2014-01-23T00:25:01.000Z (over 12 years ago)
- Default Branch: main
- Last Pushed: 2024-11-27T22:45:32.000Z (over 1 year ago)
- Last Synced: 2024-11-27T22:51:30.781Z (over 1 year ago)
- Language: JavaScript
- Size: 36.1 KB
- Stars: 2
- Watchers: 4
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: Readme.md
- Changelog: History.md
Awesome Lists containing this project
README
[![NPM version][npm-image]][npm-url]
[![Build Status][build-image]][build-url]
[![Dependency Status][deps-image]][deps-url]
# getlet
HTTP(s) request with redirect, compress and streaming
To be used if you only need bare bones HTTP request and if you'd rather have your response processed downstream.
`getlet` will send the request, handle the redirects and pipe the response.
If you need anything more than this check [superagent] or [request].
`getlet` always asks for `gzip` or `deflate` encoding and decompresses the response,
but it won't do any other processing. It won't buffer the responses in any way.
## Examples
```javascript
const getlet = require('getlet');
// get URL and stream it
getlet('http://google.com').pipe(stream);
// configure URL from host and part
getlet()
.host('raw2.github.com')
.path('/pirxpilot/liftie/master/.jshintrc')
.secure(true)
.on('error', errorHandler)
.pipe(stream);
// post some data
getlet('https//example.com/form')
.method('POST')
.send(formData)
.pipe(stream);
// get URL and stream it, initialize later
const request = getlet('http://google.com', false);
setTimeout(function () {
request.pipe(stream);
request.init();
}, 1000);
// initialize later
```
## API
### `getlet(url, autoInit = true)`
`url` is an optional parameter - alternatively you can configure target using `host` and `path`
`autoInit` if false `init()` has to be called explicitly to trigger network request
### `host(host)`
### `path(path)`
### `secure(on)`
if `on` is truthy use HTTPS instead of HTTP
### `userAgent(ua)`
set `User-Agent` header
### `header(name, value)`
set header `name` to `value`, also accepts an object treated as `name` -> `value`
### `auth(username, password)`
sets basic authentication `Authorization` header
### `send(data)`
sends `data` with the request
### `method(method)`
uses HTTP `method` (`POST`, `PUT` etc) - `GET` is used if `method` is not called
### `followRedirects(boolean)`
when called with `false` will prevent getlet from automatically following redirects
[request]: https://github.com/mikeal/request
[superagent]: http://visionmedia.github.io/superagent/
[npm-image]: https://img.shields.io/npm/v/getlet
[npm-url]: https://npmjs.org/package/getlet
[build-image]: https://img.shields.io/github/actions/workflow/status/pirxpilot/getlet/check.yaml?branch=main
[build-url]: https://github.com/pirxpilot/getlet/actions/workflows/check.yaml
[deps-image]: https://img.shields.io/librariesio/release/npm/getlet
[deps-url]: https://libraries.io/npm/getlet