From c37f4da9b0ce8078a627e44181eb7c1d7ea5a00b Mon Sep 17 00:00:00 2001
From: Alex Hunt <hello@alexhunt.dev>
Date: Mon, 24 Mar 2025 18:04:37 +0000
Subject: [PATCH] breaking: Delete rawBody handling on /symbolicate endpoint

---
 packages/cli-server-api/src/index.ts          |  3 ---
 .../cli-server-api/src/rawBodyMiddleware.ts   | 24 -------------------
 2 files changed, 27 deletions(-)
 delete mode 100644 packages/cli-server-api/src/rawBodyMiddleware.ts

diff --git a/packages/cli-server-api/src/index.ts b/packages/cli-server-api/src/index.ts
index b34f285c4..8b773d2f9 100644
--- a/packages/cli-server-api/src/index.ts
+++ b/packages/cli-server-api/src/index.ts
@@ -9,7 +9,6 @@ import serveStatic from 'serve-static';
 import indexPageMiddleware from './indexPageMiddleware';
 import openStackFrameMiddleware from './openStackFrameMiddleware';
 import openURLMiddleware from './openURLMiddleware';
-import rawBodyMiddleware from './rawBodyMiddleware';
 import securityHeadersMiddleware from './securityHeadersMiddleware';
 import statusPageMiddleware from './statusPageMiddleware';
 import systraceProfileMiddleware from './systraceProfileMiddleware';
@@ -38,8 +37,6 @@ export function createDevServerMiddleware(options: MiddlewareOptions) {
     .use('/open-stack-frame', openStackFrameMiddleware(options))
     .use('/open-url', openURLMiddleware)
     .use('/status', statusPageMiddleware)
-    // TODO: Remove. Requires standardized JSON body parsing support in Metro.
-    .use('/symbolicate', rawBodyMiddleware)
     // @ts-ignore mismatch
     .use('/systrace', systraceProfileMiddleware)
     .use('/reload', (_req: http.IncomingMessage, res: http.ServerResponse) => {
diff --git a/packages/cli-server-api/src/rawBodyMiddleware.ts b/packages/cli-server-api/src/rawBodyMiddleware.ts
deleted file mode 100644
index 2a9746387..000000000
--- a/packages/cli-server-api/src/rawBodyMiddleware.ts
+++ /dev/null
@@ -1,24 +0,0 @@
-/**
- * Copyright (c) Facebook, Inc. and its affiliates.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */
-import http from 'http';
-
-export default function rawBodyMiddleware(
-  req: http.IncomingMessage,
-  _res: http.ServerResponse,
-  next: (err?: any) => void,
-) {
-  (req as http.IncomingMessage & {rawBody: string}).rawBody = '';
-  req.setEncoding('utf8');
-
-  req.on('data', (chunk: string) => {
-    (req as http.IncomingMessage & {rawBody: string}).rawBody += chunk;
-  });
-
-  req.on('end', () => {
-    next();
-  });
-}