
Product
Socket Firewall Now Blocks Malicious VS Code and Open VSX Extensions
Socket Firewall blocks malicious VS Code and Open VSX extensions before install, protecting developers from compromised editor marketplaces.
@arcjet/body
Advanced tools
@arcjet/bodyArcjet utilities for getting the body from a stream.
This is an internal utility to help us read streams from various frameworks.
It’s in part a fork of stream-utils/raw-body.
We chose to fork so that we can cut away functionality that we do not use
and keep our dependency tree as light as possible.
Specifically it always parses the stream as a UTF-8 string instead of a Buffer
and only supports promises instead of callbacks.
You should not use this but use stream-utils/raw-body or one
of the alternatives instead.
This package matches our current needs which are likely different from yours.
This package is ESM only. Install with npm in Node.js:
npm install @arcjet/body
import fs from "node:fs";
import { readBody } from "@arcjet/body";
const body = await readBody(fs.createReadStream("example.ts"), { limit: 1024 });
console.log(body);
This package exports the identifiers
readBodyWeb and
readBody.
There is no default export.
This package exports the TypeScript types
ReadBodyOpts and
ReadableStreamLike.
ReadBodyOptsConfiguration (TypeScript type).
expectedLength (number, optional)
— length of the stream in bytes;
rejects an error if the contents of the stream do not add up to this length;
useful when the exact size is knownlimit (number, required)
— limit of the body in bytes;
rejects an error if the body ends up being larger than this limit;
used to prevent reading too much data from malicious clients.ReadableStreamLikeMinimal Node.js stream interface (TypeScript type).
interface ReadableStreamLike {
on?: EventHandlerLike | null | undefined;
readable?: boolean | null | undefined;
removeListener?: EventHandlerLike | null | undefined;
}
readBodyWeb(stream, options)Read the body of a web stream.
stream (ReadableStream)
— streamoptions (ReadBodyOpts, required)
— configurationPromise that resolves to a concatenated body (Promise<string>).
readBody(stream, options)Read the body of a Node.js stream.
stream (ReadableStream)
— streamoptions (ReadBodyOpts, required)
— configurationPromise that resolves to a concatenated body (Promise<string>).
Apache License, Version 2.0 © Arcjet Labs, Inc.
Derivative work based on raw-body licensed under
MIT © Jonathan Ong and Douglas Christopher Wilson.
Our work removes features that we do not use: no buffers, no sync interface.
It adds a version for web streams.
FAQs
Arcjet utilities for extracting the body from a stream
The npm package @arcjet/body receives a total of 46,741 weekly downloads. As such, @arcjet/body popularity was classified as popular.
We found that @arcjet/body demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Product
Socket Firewall blocks malicious VS Code and Open VSX extensions before install, protecting developers from compromised editor marketplaces.

Research
More than 140 Mastra npm packages were compromised in a supply chain attack that used a typosquatted dependency to deliver a cross-platform infostealer during installation.

Research
/Security News
A new npm package tests AI malware scanners with prompt injection, safety-triggering comments, context flooding, and obfuscated JavaScript.