Skip to content

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

License

Notifications You must be signed in to change notification settings

lujjjh/content-disposition-attachment

Repository files navigation

content-disposition-attachment

npm npm bundle size GitHub Workflow 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/[email protected]"></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/[email protected]?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.

About

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

Topics

Resources

License

Stars

Watchers

Forks