content-disposition-attachment

A library to parse "attachment"s in Content-Disposition.

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
content-disposition-attachment
400.3.13 months ago5 years agoMinified + gzip package size for content-disposition-attachment in KB

Readme

content-disposition-attachment
Build Status
A library to parse "attachment"s in Content-Disposition.

Getting started

Install via npm

npm install content-disposition-attachment

ESM

import { parse } from 'content-disposition-attachment';

console.log(parse('attachment; filename=foo.html'));
// => { attachment: true, filename: 'foo.html' }

CommonJS

const { parse } = require('content-disposition-attachment');

console.log(parse('attachment; filename=foo.html'));
// => { attachment: true, filename: 'foo.html' }

Import from CDN

UMD

<script src="https://unpkg.com/content-disposition-attachment@0.3"></script>
<script>
  console.log(ContentDispositionAttachment.parse('attachment; filename="foo.html"'));
  // => { attachment: true, filename: 'foo.html' }
</script>

ESM

<script type="module">
  import { parse } from 'https://unpkg.com/content-disposition-attachment@0.3?module';

  console.log(parse('attachment; filename=foo.html'));
  // => { attachment: true, filename: 'foo.html' }
</script>

API references

parse

Parse a Content-Disposition.

If Content-Disposition is not "attachment", it returns { attachment: false }; otherwise, it returns { attachment: true } along with parsed parameters.
If errors occur when parsing parameters, a ParseError will be thrown.
Examples
import { parse } from 'content-disposition-attachment';

parse('inline');
// => { attachment: false }

parse('attachment; filename=foo.html; foo=bar');
// => { attachment: true, filename: 'foo.html', foo: 'bar' }

parse('attachment; foo');
// => ParseError: expect '='

You can find more examples in the unit tests.