Releases: octet-stream/then-busboy
Releases · octet-stream/then-busboy
5.2.1
5.2.0
Add
AsyncIterableobjects support as the source inparsefunction. In this case you must provide HTTP headers through options argument. Because of that, you can processmultipart/form-databodies from different sources, even fromResponse:
import {Response, FormData} from "node-fetch" // Has FormData support from v3
import {parse} from "then-bosboy"
const form = new FormData()
form.set("greeting", "Hello, World!")
form.set("file", new File(["On Soviet Moon landscape see binoculars through YOU"], "file.txt"))
const response = new Respone(form)
// then-busboy will parse the input and return its own Body instance from which you can create a complete object by calling .json() method or a FormData using .formData() method.
// The difference with Response.formData() is that then-busboy will save all files to file system and create a *reference* to each of them,
// while Response (currently) will dump them into RAM, which can be less efficient in some scenarious
const body = await parse(response.body, {
headers: {
"content-type": response.headers.get("content-type")
}
})
body.json() // -> {greeting: string, file: BodyFile}
body.formData() // -> FormDataUpdate
- Busboy is updated to version 1.x;
- Improvements for documentation;
Body.json()method takes type parameter that will reflect the type returned by this method (TS only)
All changes: v5.1.3...v5.2.0
5.1.3
Update
- Fix for typings: Use Busboy constructor params to extract options (#33)
All changes: v5.1.2...v5.1.3
5.1.2
Update
- Move busboy typings to dependencies section.
- Update nanoid and formdata-node
All changes: v5.1.1...v5.1.2
5.1.1
Update
- Fix typings for
BodyFile.stream()method; - Improve in-code documentation;
All changes: v5.1.0...v5.1.1
5.1.0
Update
- Update
object-deep-from-entriesto 0.4.0; - Expose
BodyRawEntrytype.
All changes: v5.0.0...v5.1.0
5.0.0
The 5.0.0 release is finally stable 🎉
I'd like to announce that I am finally happy with what I did for the 5th major release of this package, so there's no more upcoming breaking changes and I can release it's first stable version!
The most changes are internal compared to the last beta release, you should not be affected if you use 5.x since its beta.
The following patch notes are for those who still using 4.x
Update
- Braking! Drop Node.js 10 support. Minimal required version is 12.4.x.
- Breaking! The project has beed rewritten on TypeScript from the ground up. The package still ships with CJS version, but it will eventually fade away and be replaced with ESM (which is also supported natively from this version);
- Breaking! File class has been improved to become spec-compatible with the file objects from the browsers. Now it has the same properties and methods as browser implementations. Also, this class has been renamed into
BodyFileand no more available for being constructed manually. If you need to add files to Body manually, you have to use regular File class from browsers (you can get it fromformdata-nodeorfetch-blob); - Breaking! The
Body#paths()method has been renamed toBody#keys(); - Breaking! The
options.restoreTypesparameter has been renamed tooptions.castTypes.
Remove
- Breaking! The
map,forEach,names, andfiltermethods has been removed from Body class; - Breaking! Removed
BodyFile#originalFilenameproperty, the original file name can be read fromBodyFile#nameproperty. - Breaking! Every non-File spec compatible method and property has been removed, except for
BodyFile#encandBodyFile#pathsince they might be necessary for debugging or further usage outside ofthen-busboy
All changes: v4.3.1...v5.0.0
5.0.0-beta.6
5.0.0-beta.5
Update
- Fix
typessection ofpackage.jsonwith correct path to the TS typings
All changes: v5.0.0-beta.4...v5.0.0-beta.5
5.0.0-beta.4
Update
- Braking! Drop Node.js 10 support. Minimal required version is 12.
- Breaking! The project has beed rewritten on TypeScript from the ground up. The package still ships with CJS version, but it will eventually fade away and be replaced with ESM (which is also supported natively from this version);
- Breaking! File class has been improved to become spec-compatible with the file objects from the browsers. Now it has the same properties and methods as browser implementations. Also, this class has been renamed into
BodyFileand no more available for being constructed manually. If you need to add files to Body manually, you have to use regular File class from browsers (you can get it fromformdata-nodeorfetch-blob); - Breaking! The
Body#paths()method has been renamed toBody#keys(); - Breaking! The
options.restoreTypesparameter has been renamed tooptions.castTypes.
Remove
- Breaking! The
map,forEach,names, andfiltermethods has been removed from Body class; - Breaking! Removed
BodyFile#originalFilenameproperty, the original file name can be read fromBodyFile#nameproperty. - Breaking! Every non-File spec compatible method and property has been removed, except for
BodyFile#encandBodyFile#pathsince they might be necessary for debugging or further usage outside ofthen-busboy
All changes: v5.0.0-beta.3...v5.0.0-beta.4