2.0.0 • Published 2 days ago

electron-main-fetch v2.0.0

Weekly downloads
9
License
MIT
Repository
github
Last release
2 days ago

electron-main-fetch

Use the browser Fetch API from the main process in Electron

Install

npm install electron-main-fetch

Requires Electron 30 or later.

Usage

import fetch from 'electron-main-fetch';

const response = await fetch('https://api.ipify.org');

console.log(await response.text());
//=> '170.56.15.35'

API

fetch(input, options)

Same options as Fetch

Response object example

{
	type: 'cors',
	url: 'https://api.ipify.org/',
	redirected: false,
	status: 200,
	ok: true,
	statusText: 'OK',
	bodyUsed: false,
	headers: {
		keys: [Function],
		entries: [Function],
		values: [Function],
		get: [Function],
		has: [Function],
		set: [Function],
		append: [Function],
		delete: [Function]
	},
	clone: [Function],
	arrayBuffer: [Function],
	json: [Function],
	text: [Function]
}

Difference between this and Fetch

We don't have direct access to the body stream, so there is no body property. There are some methods that are not useful in Node.js, like formData(), redirect(), etc. Some other methods are not very cross-browser compatible, so they are less common to use.

Missing:

  • body
  • blob()
  • formData()
  • error()

A small difference is that our .clone() method is async.

Related