# tiny_request

> Tiny module for networking

Latest version **1.0.13** (published 2017-05-08) · ISC license · 0 weekly downloads

## Install

```sh
npm install tiny_request
pnpm add tiny_request
yarn add tiny_request
bun add tiny_request
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.13 |
| Published | 2017-05-08 |
| First published | 2015-08-10 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 0 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 40 |
| Author | Narek Abovyan |
| Maintainers | altox7 |
| Keywords | network, tiny, request |

## Links

- npm: https://www.npmjs.com/package/tiny_request
- Repository: https://github.com/Naltox/tiny_request
- Issues: https://github.com/Naltox/tiny_request/issues
- npm.io page: https://npm.io/package/tiny_request

## Recent versions

- 1.0.13 (latest) — 2017-05-08
- 1.0.12 — 2017-02-11
- 1.0.11 — 2016-12-06
- 1.0.10 — 2016-12-06
- 1.0.9 — 2016-08-03
- 1.0.8 — 2016-02-22
- 1.0.7 — 2015-11-19
- 1.0.6 — 2015-08-11
- 1.0.5 — 2015-08-11
- 1.0.4 — 2015-08-11
- 1.0.3 — 2015-08-10
- 1.0.2 — 2015-08-10
- 1.0.1 — 2015-08-10
- 1.0.0 — 2015-08-10

## README

Tiny module for http requests with no dependencies

## Install
npm install tiny_request

## Simple to use


```js
var req = require('tiny_request')

req.get('http://google.com', function(body, response, err){
	if (!err && response.statusCode == 200) {  
		console.log(body) 
	} 
})
```
## Examples

- [JSON](#json)
- [GET](#get)  
- [POST Multipart](#post-multipart)
- [POST Froms](#post-forms)
- [Custom HTTP Headers](#custom-http-headers)
- [Stream](#stream)
- [Timeout](#timeout)
 
## JSON

To automatically parse JSON you just need to pass JSON parameter.

Example: 

```js 
req.get({ url: 'http://test.com/json', json: true}, function(body, response, err){
	if (!err && response.statusCode == 200) {  
		console.log(body) //body now is parsed JSON object
	} 
})
```

## GET

```js 
req.get({ url: 'http://test.com', query: { test: 'test' }}, function(body, response, err){
	if (!err && response.statusCode == 200) {  
		console.log(body) 
	} 
})
```
Where query is GET parameters object

Also you can pass port parameter, for example: 

```js 
req.get({ url: 'http://test.com', port: 8080}, function(body, response, err){
	if (!err && response.statusCode == 200) {  
		console.log(body) 
	} 
})
```

## POST Multipart

```js 
var data = {
	image: {
		value: fs.createReadStream('photo.png'), 
		filename: 'photo.png',
		contentType: 'image/png'			
	},
	test: 'test'
}

req.post({
	url: 'http://test.com',
	query: { test: 'test' },
 	multipart: data 
}, function(body, response, err){
	if (!err && response.statusCode == 200) {  
		console.log(body) 
	} 
})
```

## POST Forms

```js 
var form = {
	test: 'test'
}

req.post({ url: 'http://test.com', form: form}, function(body, response, err){
	if (!err && response.statusCode == 200) {  
		console.log(body) 
	} 
})
```

## POST Json

```js 
var data = {
	test: 'test'
}

req.post({ url: 'http://test.com', jsonData: data}, function(body, response, err){
	if (!err && response.statusCode == 200) {  
		console.log(body) 
	} 
})
```

## Custom HTTP Headers

```js 
var headers = {
	'Test-Header': 'test'
}

req.post({ url: 'http://test.com', headers: headers}, function(body, response, err){
	if (!err && response.statusCode == 200) {  
		console.log(body) 
	} 
})
```

## Stream

```js  
req.get({url: url, pipe: stream}) 
```

## Timeout

```js
req.get({url: url, timeout: 1000})

Request will be aborted after 1 second if there is no response from server
```

---
_Source: https://npm.io/package/tiny_request · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
