acebe6a381c6073c8824763ac522638c88988470
				
			
			
		
	@pushrocks/smartrequest
dropin replacement for request
Availabililty and Links
Status for master
Usage
Use TypeScript for best in class instellisense.
Features
- supports http
- supports https
- supports unix socks
- supports formData
- supports file uploads
- supports best practice keepAlive
- dedicated functions for working with JSON request/response cycles
- written in TypeScript
- continuously updated
- uses node native http and https modules
- used in modules like @pushrocks/smartproxy and @apiglobal/typedrequest
- commercial support available at https://lossless.support
note: smartrequest uses the native node http/https modules under the hood (not the bloated one from npm)
import * as smartrequest from 'smartrequest'
// simple post
let options: smartrequest.ISmartRequestOptions = { // typed options
    headers: {
        "Content-Type": "application/json"
        "Authorization": "Bearer token"
    },
    requestBody: JSON.stringify({
        key1: 'value1',
        key2: 3
    })
}
smartrequest.request('https://example.com', options).then(res => {
    console.log(res.status)
    console.log(res.body) // if json, body will be parsed automatically
}).catch(err => {
    console.log(err)
})
// dedicated JSON metods are available:
smartrequest.getJson(...)
smartrequest.postJson(...)
smartrequest.putJson(...)
smartrequest.delJson(...)
// streaming
smartrequest.get('https://example.com/bigfile.mp4', optionsArg, true).then(res => { // third arg = true signals streaming
    console.log(res.status)
    res.on('data', data => {
        // do something with the data chunk here
    }
    res.on('end', () => {
        // do something when things have ended
    })
})
For further information read the linked docs at the top of this readme.
MIT licensed | © Lossless GmbH | By using this npm module you agree to our privacy policy
Description
				A module for modern HTTP/HTTPS requests with support for form data, file uploads, JSON, binary data, streams, and more.
						
						
						
					Languages
				
				
								
								
									TypeScript
								
								100%