Skip to content

Latest commit

 

History

History
 
 

ipfs-multipart

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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.