1.0.0 • Published 3 years ago

fetch-to-electron-protocol-handler v1.0.0

Weekly downloads
-
License
AGPL-3.0
Repository
github
Last release
3 years ago

fetch-to-electron-protocol-handler

Generate electron protocol handlers from lazy-loaded fetch API handlers

Refactored from the Agregore Browser

Usage

const fetchToHandler = require('fetch-to-electron-protocol-handler')
const {protocols, session} = require('electron')

const {handler} = fetchToHandler(getFetch, session.defaultSession)

protcols.registerStreamProtocol('example', handler)

async function getFetch() {
 // Asynchronously initialize your `fetch()` function
 // This is where you can set up your p2p nodes
 // Note that the initializing will happen on the initial invocation
 return async function fetch({url, ...opts}) => {
   const convertedURL = new URL(url)
   url.protocol = 'https:'

   return globalThis.fetch(convertedURL.href, opts)
 }
}