# fetch-default

> Add global default properties for the web fetch

Latest version **1.0.18** (published 2019-02-19) · ISC license · 0 weekly downloads

## Install

```sh
npm install fetch-default
pnpm add fetch-default
yarn add fetch-default
bun add fetch-default
```

## 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.18 |
| Published | 2019-02-19 |
| First published | 2017-09-07 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 1 |
| Unpacked size | 7.7 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | dengbupapapa |
| Maintainers | dengbupapapa |
| Keywords | fetch、web、global、default |

## Links

- npm: https://www.npmjs.com/package/fetch-default
- Repository: https://github.com/dengbupapapa/fetch-default
- Homepage: https://github.com/dengbupapapa/fetch-default#readme
- Issues: https://github.com/dengbupapapa/fetch-default/issues
- npm.io page: https://npm.io/package/fetch-default

## Dependencies (1)

- [fetch-polyfill](https://npm.io/package/fetch-polyfill.md) ^0.8.2

## Recent versions

- 1.0.18 (latest) — 2019-02-19
- 1.0.17 — 2018-11-01
- 1.0.16 — 2018-11-01
- 1.0.15 — 2018-10-21
- 1.0.14 — 2018-10-11
- 1.0.13 — 2018-10-11
- 1.0.12 — 2018-08-15
- 1.0.11 — 2018-08-14
- 1.0.10 — 2018-08-01
- 1.0.9 — 2017-12-20
- 1.0.8 — 2017-12-20
- 1.0.7 — 2017-12-19
- 1.0.6 — 2017-12-19
- 1.0.5 — 2017-12-19
- 1.0.4 — 2017-09-07
- … 4 more at https://npm.io/package/fetch-default/versions

## README

## fetch-default

###### Add global default properties for the web fetch

### install
	npm i fetch-default --save

### use

	require('fetch-default');
	
	//es
	import 'fetch-default';
    		
### default setting optoin


	fetch.default({ 
        method: 'GET',
       	headers: myHeaders,
       	mode: 'cors',
       	cache: 'default' 
       	...
    });
	/*
		//default
      	method: 'GET',
		headers: myHeaders,
     	mode: 'cors',
     	cache: 'default'
     	...
    */
        
		fetch('/async/get', {
        	method: 'POST'//covering to post
    		})
    		.then((response) => response.json())
    		.then((json) => console.log(json));

### default setting beforeSend
 		
	fetch.default({ 
		beforeSend() {
			if(example)this.uri=this.uri+'/example';
    	}
    });

### default setting dataFilter
 		
	fetch.default({ 
		dataFilter(response) {

        	if (!response.ok) {
        		//if you use fetch-abort (https://www.npmjs.com/package/fetch-abort)
        		this.abort()
            	message.error(`${response.status}\n${response.statusText}`);
        	}

        	return response.json();

    	}
    });
    
### default setting fail

	fetch.default({ 
		fail(e) {
			//if you use fetch-abort (https://www.npmjs.com/package/fetch-abort)
			this.abort()
        	message.error(e.toString());
    	}
    });

### A complete example
	fetch.default({
    	method: 'POST',
    	headers: {
        	'Accept': 'application/json',
        	'Content-Type': ' application/json',
    	},
    	credentials: 'include',
    	beforeSend() {
        	//excludes serviceWorker
        	if (!/http:\/\//.test(this.uri)&&process.env.HOME_PAGE) this.uri = `${process.env.FETCH_PREFIX}${this.uri}`;
    	},
    	async dataFilter(response) {

        	//excludes serviceWorker request flies
        	if(!/^((ht|f)tps?):\/\/[\s\S]+\/[\s\S]+\.[\s\S]+$/.test(response.url)){

            	if (response.ok===false) {
                	message.error(`${response.status}\n${response.statusText}`);
                	return {}
            	}

            	let data = await response.json();

            	let {code,message:messageDes,messageBody} = data;

            	//not login
            	// if(code === 5000){
            	//     message.error(messageDes);
            	//     store.dispatch(actiontor.loginFlag(false));
            	// }

            	if(code !== '9000'){
                	message.error(messageDes);
            	}

            	return data;

        	}else{
            	return response
        	}

    	},
    	fail(e) {
        	message.error(e.toString());
        	return e
    	}
	});        		
## Community

[github](https://github.com/dengbupapapa/fetch-default) 
[npm](https://www.npmjs.com/package/fetch-default)

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