Skip to content
This repository has been archived by the owner on Apr 29, 2020. It is now read-only.

[ARCHIVED] A set of utilities to help dealing with IPFS multipart

License

Notifications You must be signed in to change notification settings

ipfs-inactive/js-ipfs-multipart

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🔒 Archived

The contents of this repo have been merged into ipfs/js-ipfs.

Please open issues or submit PRs there.

ipfs-multipart

made by Protocol Labs Project IPFS freenode #ipfs Codecov branch Travis CI Dependency Status js-standard-style standard-readme compliant

A set of utilities to help dealing with IPFS multipart.

Lead Maintainer

Hugo Dias

Notice

This module is moving to async iterators starting from 0.2.0. The last minor version to support event emitter is 0.1.1, any backports will merged to the branch event-emitter and released under >0.1.0 <0.2.0.

Install

npm install ipfs-multipart

Usage

const http = require('http')
const parser = require('ipfs-multipart')

http.createServer(async (req, res) => {
  if (req.method === 'POST' && req.headers['content-type']) {

    for await (const entry of parser(req)) {
      if (entry.type === 'directory') {
        console.log(`dir ${entry.name} start`)
      }

      if (entry.type === 'file') {
        console.log(`file ${entry.name} start`)

        for await (const data of entry.content) {
          console.log(`file ${entry.name} contents:`, data.toString())
        }

        console.log(`file ${entry.name} end`)
      }
    }

    console.log('finished parsing')
    res.writeHead(200)
    res.end()
  }

  res.writeHead(404)
  res.end()
}).listen(5001, () => {
  console.log('server listening on port 5001')
})

Contribute

See the contribute file and our code of conduct!

PRs accepted.

Small note: If editing the Readme, please conform to the standard-readme specification.

License

MIT © Protocol Labs Inc.