Skip to content

Latest commit

 

History

History
27 lines (20 loc) · 838 Bytes

File metadata and controls

27 lines (20 loc) · 838 Bytes

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)
 }
}