mirror of
				https://github.com/therootcompany/request.js.git
				synced 2024-11-16 17:28:58 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			66 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			66 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| # Extra
 | |
| 
 | |
| There are some niche features of @root/request which are beyond the request.js
 | |
| compatibility.
 | |
| 
 | |
| ## async/await & Promises
 | |
| 
 | |
| The differences in async support are explained in [README.md](/README.md), up near the top.
 | |
| 
 | |
| If you're familiar with Promises (and async/await), then it's pretty self-explanatory.
 | |
| 
 | |
| ## ok
 | |
| 
 | |
| Just like WHATWG `fetch`, we have `resp.ok`:
 | |
| 
 | |
| ```js
 | |
| let resp = await request({
 | |
|     url: 'https://example.com'
 | |
| }).then(mustOk);
 | |
| ```
 | |
| 
 | |
| ```js
 | |
| function mustOk(resp) {
 | |
|     if (!resp.ok) {
 | |
|         // handle error
 | |
|         throw new Error('BAD RESPONSE');
 | |
|     }
 | |
|     return resp;
 | |
| }
 | |
| ```
 | |
| 
 | |
| ## streams
 | |
| 
 | |
| The differences in stream support are explained in [README.md](/README.md), up near the top.
 | |
| 
 | |
| ## userAgent
 | |
| 
 | |
| There's a default User-Agent string describing the version of @root/request, node.js, and the OS.
 | |
| 
 | |
| Add to the default User-Agent
 | |
| 
 | |
| ```js
 | |
| request({
 | |
|     // ...
 | |
|     userAgent: 'my-package/1.0' // add to agent
 | |
| });
 | |
| ```
 | |
| 
 | |
| Replace the default User-Agent
 | |
| 
 | |
| ```js
 | |
| request({
 | |
|     // ...
 | |
|     headers: { 'User-Agent': 'replace/0.0' }
 | |
| });
 | |
| ```
 | |
| 
 | |
| Disable the default User-Agent:
 | |
| 
 | |
| ```js
 | |
| request({
 | |
|     // ...
 | |
|     headers: { 'User-Agent': false }
 | |
| });
 | |
| ```
 |