{"id":17654731,"url":"https://github.com/lujjjh/content-disposition-attachment","last_synced_at":"2025-06-29T12:33:43.717Z","repository":{"id":42340838,"uuid":"120305967","full_name":"lujjjh/content-disposition-attachment","owner":"lujjjh","description":"A library to parse \"attachment\"s in Content-Disposition.","archived":false,"fork":false,"pushed_at":"2024-06-16T09:51:35.000Z","size":527,"stargazers_count":8,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-02T07:08:54.639Z","etag":null,"topics":["content-disposition","parser"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lujjjh.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-02-05T13:06:41.000Z","updated_at":"2025-02-24T04:31:32.000Z","dependencies_parsed_at":"2024-10-23T02:51:04.945Z","dependency_job_id":null,"html_url":"https://github.com/lujjjh/content-disposition-attachment","commit_stats":{"total_commits":25,"total_committers":3,"mean_commits":8.333333333333334,"dds":"0.16000000000000003","last_synced_commit":"7a704ae39b487e4cf42292f2b65ada2a3814dd6c"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/lujjjh/content-disposition-attachment","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lujjjh%2Fcontent-disposition-attachment","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lujjjh%2Fcontent-disposition-attachment/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lujjjh%2Fcontent-disposition-attachment/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lujjjh%2Fcontent-disposition-attachment/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lujjjh","download_url":"https://codeload.github.com/lujjjh/content-disposition-attachment/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lujjjh%2Fcontent-disposition-attachment/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260230823,"owners_count":22978183,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["content-disposition","parser"],"created_at":"2024-10-23T12:35:53.365Z","updated_at":"2025-06-29T12:33:43.681Z","avatar_url":"https://github.com/lujjjh.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# content-disposition-attachment\n\n[![npm](https://img.shields.io/npm/v/content-disposition-attachment)](https://www.npmjs.com/package/content-disposition-attachment)\n![npm bundle size](https://img.shields.io/bundlephobia/min/content-disposition-attachment)\n![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/lujjjh/content-disposition-attachment/ci.yml)\n\n\u003e A library to parse \"attachment\"s in Content-Disposition.\n\n## Getting started\n\n### Install via npm\n\n```sh\nnpm install content-disposition-attachment\n```\n\n#### ESM\n\n```js\nimport { parse } from 'content-disposition-attachment';\n\nconsole.log(parse('attachment; filename=foo.html'));\n// =\u003e { attachment: true, filename: 'foo.html' }\n```\n\n#### CommonJS\n\n```js\nconst { parse } = require('content-disposition-attachment');\n\nconsole.log(parse('attachment; filename=foo.html'));\n// =\u003e { attachment: true, filename: 'foo.html' }\n```\n\n### Import from CDN\n\n#### UMD\n\n```html\n\u003cscript src=\"https://unpkg.com/content-disposition-attachment@0.3\"\u003e\u003c/script\u003e\n\u003cscript\u003e\n  console.log(ContentDispositionAttachment.parse('attachment; filename=\"foo.html\"'));\n  // =\u003e { attachment: true, filename: 'foo.html' }\n\u003c/script\u003e\n```\n\n#### ESM\n\n```html\n\u003cscript type=\"module\"\u003e\n  import { parse } from 'https://unpkg.com/content-disposition-attachment@0.3?module';\n\n  console.log(parse('attachment; filename=foo.html'));\n  // =\u003e { attachment: true, filename: 'foo.html' }\n\u003c/script\u003e\n```\n\n## API references\n\n### parse\n\n\u003e Parse a Content-Disposition.\n\nIf Content-Disposition is not \"attachment\", it returns `{ attachment: false }`;\notherwise, it returns `{ attachment: true }` along with parsed parameters.\n\nIf errors occur when parsing parameters, a `ParseError` will be thrown.\n\n**Examples**\n\n```js\nimport { parse } from 'content-disposition-attachment';\n\nparse('inline');\n// =\u003e { attachment: false }\n\nparse('attachment; filename=foo.html; foo=bar');\n// =\u003e { attachment: true, filename: 'foo.html', foo: 'bar' }\n\nparse('attachment; foo');\n// =\u003e ParseError: expect '='\n```\n\nYou can find more examples in the [unit tests](test/parse.js).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flujjjh%2Fcontent-disposition-attachment","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flujjjh%2Fcontent-disposition-attachment","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flujjjh%2Fcontent-disposition-attachment/lists"}